从 pgAdmin4 导出的 csv 文件中保留索引列
Posted
技术标签:
【中文标题】从 pgAdmin4 导出的 csv 文件中保留索引列【英文标题】:Retain index column in exported csv file from pgAdmin4 【发布时间】:2020-07-22 08:50:47 【问题描述】:我在 pgAdmin4 中有一个简单的 postgresql 表,其中包含 3 列(a、b、c)和一个要导出到 csv 的索引列:
我尝试使用 pgAdmin4 的导入/导出功能,但导出的 csv 使用列“a”作为索引:
如何按上述方式导出它,以便保留索引列并与 3 列(a、b、c)分开,而不必在导出之前在 pgAdmin4 中显式创建“索引”列?
【问题讨论】:
【参考方案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
需要对给定路径的写入权限。
【讨论】:
以上是关于从 pgAdmin4 导出的 csv 文件中保留索引列的主要内容,如果未能解决你的问题,请参考以下文章