为什么我的 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
编码换行符而不是逐字输出。
我正在尝试通过 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
编码换行符而不是逐字输出。