是否可以将表导出到 csv,但将多个选择附加到同一个文件?
我想导出(例如):
SELECT * FROM TABLE WHERE a > 5
然后,稍后:
SELECT * FROM TABLE WHERE b > 2
这必须转到同一个文件。
提前致谢!
是否可以将表导出到 csv,但将多个选择附加到同一个文件?
我想导出(例如):
SELECT * FROM TABLE WHERE a > 5
然后,稍后:
SELECT * FROM TABLE WHERE b > 2
这必须转到同一个文件。
提前致谢!
用于\o <filename>
输出到文件。使用后的所有SELECT
语句\o
都将附加到<file>
您设置\o
为其他内容之前。
我知道的唯一方法是从命令行重定向输出。
psql -d dbname -t -A -F"," -c "SELECT * FROM TABLE WHERE a > 5" >> output.csv
然后稍后
psql -d dbname -t -A -F"," -c "SELECT * FROM TABLE WHERE b > 2" >> output.csv
您可以在此处查找命令行选项。
\o
与 to STDOUT 结合使用似乎\copy
有效。例如:
db=> \o /tmp/test.csv
db=> \copy (select 'foo','bar') to STDOUT with CSV;
db=> \copy (select 'foo','bar') to STDOUT with CSV;
db=> \q
$ cat /tmp/test.csv
foo,bar
foo,bar