0
  1. 我想使用Batch file在 PostgreSQL 中执行 DROP 和 CREATE SCHEMA 。我在许多机器上安装了 PostgresSQL,没有任何像 PgAdmin 这样的界面。

  2. 我正在寻找一个简单的解决方案,让技术人员执行数据库重置并在生产站点恢复默认备份。批处理文件似乎是一个很好的解决方案。

  3. 我已经想出使用批处理文件恢复备份的命令。缺少的项目是删除/创建 SCHEMA(因为我需要在恢复默认备份之前创建新的 SCHEMA)。

  4. 我尝试按照命令 DROP / CREATE SCHEMA。但是,它仅在通过 PgAdmin 使用或我在 CMD 上的postgres=#提示下手动键入时才有效。

DROP SCHEMA public CASCADE;
CREATE SCHEMA public;

GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO public;
  1. 在批处理文件中使用上述代码会产生以下错误。

'drop' 不是内部或外部命令、可运行程序或批处理文件。

任何建议,请告诉我。提前感谢您的帮助。

4

1 回答 1

2

将您要运行的语句放入(文本)文件中,例如drop.sql

然后在您的批处理文件中使用:

psql -U <your_username_here> -d <your_database_here> -f drop.sql

psql将提示您输入密码,请参阅使用命令行参数运行 PostgreSQL .sql 文件以了解可能的解决方法。

于 2020-07-09T05:45:31.463 回答