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

标签 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 数据库(如预期的那样),但随后什么也没有发生(不再执行更多代码)

如何构建 .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/

相关文章:

sql - 使用单个更新命令更新或创建嵌套的 jsonb 值

database - 无法更新表临时表,因为它没有副本标识并在 Postgres 中发布更新

javascript - 如何为 inet 设置 sequelize postgres 模型类型?

postgresql - 在 PostgreSQL 中动态生成列

java - 从 Windows 批处理脚本中的 else block 执行的命令返回错误的错误级别

scala - java.lang.RuntimeException : You must run the `stage` task before deploying your app when running `sbt stage deployHeroku` 错误

Python 3 flask 在 heroku 上安装 wkhtmltopdf

javascript - Rails 5 - JS 无法在生产环境中工作(仅限)

windows - Windows 批处理文件可以确定自己的文件名吗?

c# - 如何从 C# 使用 mysql.exe