Postgresql:运行SQL查询脚本并导出到csv

问题描述:

我在Ubuntu上运行Postgresql版本9.3。我想知道是否有办法在Postgres数据库上运行存储在脚本中的select语句,然后将结果发送到csv。我知道如何自己做两者中的任何一个;例如,导出为CSV文件(与查询明确地写出来):Postgresql:运行SQL查询脚本并导出到csv

COPY(select * from mytable) to 'path/to/file.csv' with csv header; 

和运行SQL脚本:

\i 'myscript.sql' 

但周围搜索后,我无法弄清楚如何在一个一举两得行动。也就是说,我无法弄清楚在运行查询脚本时如何导出到csv,而不是手动输入select语句。

+1

你能尝试解释你想要什么好一点 –

\set query `cat /path/to/myscript.sql` 
copy (:query) to '/path/to/file.csv' with csv header; 

SQL Interpolation in psql