关于sql:使用cmd line args将PSQL表导出为CSV文件

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文件中