为什么我的 postgresql csv 导出的行数比 table 多?

Why does my postgresql csv export have more rows than the table?

我正在尝试通过 psql 在 postgresql 数据库(版本 10.12)中复制 table。其中一行包含表示 xml 数据的字符串。当我使用此查询查询数据库的行计数时,我得到的计数约为 50,000:

select count(column) from table;

但是当我尝试将数据导出到 csv 文件时,输出超过 1,000,000 行!我不明白 csv 导出的行数如何与 table!

不同

这是复制命令:

\copy (select column from table) to 'directory/output.csv' with csv;

我更改定界符或引号似乎都没有关系。我试过使用 | 作为分隔符,使用 ` 作为引号,csv 中的行数相同。为什么 csv 导出的行数不同?

行数没有不同:CSV 输出只是在字段中嵌入换行符(LF,ASCII 代码 10),这符合 XML。

如果要COPY一行一行,不要用CSV,用文本格式,也就是省略with csv即可。然后用 \n 编码换行符而不是逐字输出。