来自STDIN的psql COPY和来自echo

时间:2017-01-05 16:06:16

标签: sql postgresql psql

我正在使用Postgresql 9.5。在我的代码中,我需要创建一个管道来提取数据并插入到数据库中。要使用psql测试管道,我在数据库中创建了一个表:employee(name,dept,jobtitle),并使用了命令:

echo -e "Paul,IT,Manager\n\." | psql -U *** -h localhost -d *** -1f copy.sql

copy.sql的文件如下:

COPY employee (name,dept,jobtitle) from STDIN WITH(FORMAT CSV, DELIMITER ',', HEADER FALSE)

命令的结果是:

COPY 0

我想psql解析器不会识别输入中的行。是因为错误的回声输入格式?任何帮助表示赞赏。谢谢!

我还尝试使用\ copy命令从csv文件中复制。它成功了。使用的命令是

psql -U *** -h localhost -d *** -1f copy_file.sql

copy_file.sql是:

\copy employee (name,dept,jobtitle) from '/path/to/csv/file' WITH(FORMAT CSV, DELIMITER ',', HEADER FALSE)

csv文件是

Paul,IT,Manager
\.

0 个答案:

没有答案