在pgadmin4导出的csv文件中保留索引列

h6my8fg2  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(388)

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

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

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

hpcdzsge

hpcdzsge1#

我相信你对你第一张图片左边的顺序计数的含义感到困惑。它不是索引。它只是一种视觉帮助,让你知道你看到的是哪一行,它不会被导出。也许 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` 需要对给定路径的写访问权限。

相关问题