Export PSQL table to CSV file using cmd line args
我正在尝试将我的PSQL表导出为CSV文件。 我在网上看过很多提示,例如将PostgreSQL的PL / pgSQL输出保存到CSV文件
从这些帖子我已经弄清楚了
1 | \copy (SELECT * FROM foo) TO '/tmp/test.csv' WITH CSV |
但是我不想指定路径,我希望用户能够通过export shell脚本输入它。 是否可以从.sh脚本将args传递给.sql脚本?
我能够找到解决方案。
在我的bash脚本中,我使用了类似于以下内容的东西
1 | psql $1 -c"\copy (SELECT * FROM users) TO '"$2"'" DELIMINTER ',' CSV HEADER" |
此代码从第一个参数指定的数据库中复制用户表,并将其导出到位于第二个参数的csv文件中