Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL复制csv,包括引号_Postgresql_Csv_Import_Copy - Fatal编程技术网

PostgreSQL复制csv,包括引号

PostgreSQL复制csv,包括引号,postgresql,csv,import,copy,Postgresql,Csv,Import,Copy,这是一个非常简单的问题,我使用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 这似乎完全删除了我不想要的引号。 有没有办法让导入只

这是一个非常简单的问题,我使用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文件中一样出现在数据库中?

根据,默认引号符号是“,因此您需要提供一个带有不同符号的引号参数。引号符号必须是一个单字节字符

COPY tbname FROM '/tmp/file.csv'
delimiter '|' QUOTE '}' csv; -- use a symbol you know does not appear in your file.

这非常有效,谢谢,我没想到会有这么好的解决方案。如果你不能确定是否有任何符号缺失,那么看到解决方案就太好了。