我使用以下内容将数据加载到 postgres
\copy tab FROM /tmp/file DELIMITER E'\t' QUOTE E'\b' NULL AS '\N' CSV
通常我从源数据库中选择数据
echo "select * from tab" | mysql --batch --quick --skip-column-names .... > /tmp/file
它会生成一个带有制表符分隔符字段的文件。它在大多数情况下运作良好。直到我尝试导入多行文本列。错误出现:
ERROR: unquoted carriage return found in data
任何建议如何克服这个问题?
您显示的 mysql 命令似乎(实验上,不是根据实际知识)生成与 PostgreSQL 的 TEXT 格式兼容的输出,而不是 CSV 格式。换行符由两个字符表示
\n
,制表符由表示\t
,文字反斜杠由表示\\
。所以尝试以该格式导入它,这是默认的: