这是一个非常简单的问题,我正在使用 psql 终端命令 COPY,如下所示
COPY tbname FROM '/tmp/file.csv'
delimiter '|' csv;
但是这个 file.csv 包含如下数据
random|stuff|32"
还有
random|other "stuff"|15
我尝试按照 Postgres 站点的建议使用双引号来转义引号
random|stuff|32""
random|other ""stuff""|15
这似乎完全删除了我不想要的引号。 有没有办法让导入仅将这些引号视为常规字符,以便它们像在 csv 文件中一样出现在数据库中?
最佳答案
根据documentation ,默认的引号是 ",所以你需要提供一个不同符号的 QUOTE 参数。引号必须是一个单字节字符。
COPY tbname FROM '/tmp/file.csv'
delimiter '|' QUOTE '}' csv; -- use a symbol you know does not appear in your file.
关于PostgreSQL COPY csv 包括引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28629475/