使用 COPY 命令导出 CSV 时转义 \n

Escape \n when exporting CSV using COPY command

我需要为 AWS Glue Catalog 以 CSV 格式导出各种表格,我刚刚注意到一个主要问题:

COPY command does not escape new line inputs in columns, only quotes them.

更让我困惑的是,我可以切换到 TEXT 并获得正确的格式 - 转义特殊字符 - 但我不能使用那种格式的 HEADER!

COPY (%s) TO STDOUT DELIMITER ',' NULL ''

有没有办法同时获取 HEADER 并通过 COPY 命令转义新行?

我希望这是我的疏忽,因为代码显然在那里。

text 格式 不会 生成 CSV,这就是您无法获得 headers 或更改分隔符的原因。它是 PostgreSQL 的“内部”tab-separated 格式。

没有规定在 CSV 文件中用 \n 替换换行符,确实会产生无效的 CSV(根据大多数人的想法;没有标准)。

您必须 post-process 文件。