将命令复制到文本文件在Linux中不起作用

时间:2019-12-18 16:22:54

标签: linux shell psql

我正在使用postgres sql输出创建文件,当我将其创建为CSV文件时,它按预期工作。但是我可能需要根据输入将其创建为文本文件。 我用来创建CSV文件的是:

export PGPASSWORD=pswd;psql -h "host" -U "root" -c "\copy (select * from schema.\"tblNme\" where id > 0 and id<=8238226) TO STDOUT WITH DELIMITER '|' csv HEADER" dbname >/var/prod/loc/sourcefile/test.CSV

因此对于文本文件,我将查询更新如下:

export PGPASSWORD=pswd;psql -h "host" -U "root" -c "\copy (select * from schema.\"tblNme\" where id > 0 and id<=8238226) TO STDOUT WITH DELIMITER '|' TXT HEADER" dbname >/var/prod/loc/sourcefile/test.txt

它会抛出类似错误

b''
b'ERROR:  syntax error at or near "TXT"\nLINE 1: ... 0 and id<=8238226 ) TO STDOUT WITH DELIMITER \'|\' TXT HEADER\n                                                             ^\n'
Error 1

这里缺少什么。谁能给我建议解决方案。

0 个答案:

没有答案