【问题标题】:Retain index column in exported csv file from pgAdmin4从 pgAdmin4 导出的 csv 文件中保留索引列
【发布时间】:2020-07-22 08:50:47
【问题描述】:

我在 pgAdmin4 中有一个简单的 postgresql 表,其中包含 3 列(a、b、c)和一个要导出到 csv 的索引列:

我尝试使用 pgAdmin4 的导入/导出功能,但导出的 csv 使用列“a”作为索引:

如何按上述方式导出它,以便保留索引列并与 3 列(a、b、c)分开,而不必在导出之前在 pgAdmin4 中显式创建“索引”列?

【问题讨论】:

    标签: sql postgresql export


    【解决方案1】:

    我相信您对第一张图片左侧的这个顺序编号的含义感到困惑。它不是索引。它只是一种视觉帮助,让您知道您正在查看哪一行,并且它不会被导出。也许row_number() 就是你要找的东西:

    数据样本

    CREATE TEMPORARY TABLE mynewc (a int, b int, c int);
    INSERT INTO mynewc VALUES (1,4,7),(2,5,8),(3,6,9);
    

    使用COPY导出

    COPY (
      SELECT ROW_NUMBER() OVER () AS index,* FROM mynewc
    ) TO STDOUT CSV HEADER; 
    
    index,a,b,c
    1,1,4,7
    2,2,5,8
    3,3,6,9
    

    如果您想知道如何从中获取文件,请将 STDOUT 更改为路径,例如'/home/jason/mynewc.csv'。请记住,操作系统用户 postgres 需要对给定路径的写入权限。

    【讨论】:

      猜你喜欢
      • 2017-09-03
      • 1970-01-01
      • 1970-01-01
      • 2022-08-11
      • 1970-01-01
      • 2016-04-22
      • 2011-10-01
      • 1970-01-01
      • 2016-07-05
      相关资源
      最近更新 更多