使用postgres输出错误的复制命令

时间:2017-03-19 12:48:32

标签: postgresql copy

我尝试使用copy命令将文件内容复制到数据库中。 其中一条线就是:

CCc1ccc(cc1)C(=O)/N=c\1/n(ccs1)C

当我将其正常插入数据库时​​,没有错误。

但是当我尝试使用以下命令时,此行未正确插入。

cat smile_test.txt | psql -c "copy testzincsmile(smile) from stdout" teste

这就是我得到的(这是错的):

CCc1ccc(cc1)C(=O)/N=c/n(ccs1)C

这里有什么问题?

谢谢:)

2 个答案:

答案 0 :(得分:1)

copy需要特定的输入格式,不能仅用于将文件中的随机文本读取到字段中。

请参阅the manual

您遇到的具体问题可能是反斜杠被解释为默认复制输入/输出格式的转义。

答案 1 :(得分:0)

我弄清楚如何做到这一点:

这是我的答案:

cat smile_test.txt | sed '1d; s/\\/\\\\/g' | psql -c "copy testzincsmile(smile) from stdout" teste