如果我使用 heroku pg:psql -a appname
远程进入 heroku 上的 postgres 数据库,我可以等待几秒钟让它连接,然后运行 \copy (SELECT * FROM users ) TO users.csv CSV DELIMITER ',' HEADER
将表从远程数据库提取到我的桌面。
但是,如果我将这两行代码放入一个 .bat 文件并运行它,它会打开 cmd.exe 并连接到 postgres 数据库(如预期的那样),但随后什么也没有发生(不再执行更多代码)
如何构建 .bat 文件,使其运行第一行(连接到远程数据库),然后在远程连接的数据库中执行后续行?
最佳答案
您必须使用 -c 开关将命令传递给 psql。
psql -c "\copy (SELECT * FROM users) TO users.csv CSV DELIMITER ',' HEADER"
如果您需要执行更多命令,将它们放在一个单独的文件中并使用 -f 开关将其传递给 psql 会更容易。
关于postgresql - 如何从 .bat 文件在 heroku 上的远程 postgres 数据库上运行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51670639/