如何从.bat文件在heroku上的远程Postgres数据库上运行代码

时间:2018-08-03 10:27:33

标签: postgresql heroku cmd remote-access

如果使用heroku pg:psql -a appname远程访问heroku上的postgres数据库,我可以等待几秒钟使其连接,然后运行\copy (SELECT * FROM users) TO users.csv CSV DELIMITER ',' HEADER将表从远程数据库提取到我的桌面。

但是,如果我将这两行代码放入.bat文件中并运行它,它将打开cmd.exe并连接到postgres数据库(如预期的那样),但是什么也没发生(不再执行任何代码)< / p>

如何构造.bat文件,使其运行第一行(以连接到远程数据库),然后在远程连接的数据库内执行后续的行?

1 个答案:

答案 0 :(得分:1)

您必须使用-c开关将命令传递给psql。

psql -c "\copy (SELECT * FROM users) TO users.csv CSV DELIMITER ',' HEADER"

如果需要执行更多命令,将它们放在单独的文件中,然后使用-f开关将其传递给psql会更容易。