【问题标题】:DROP Postgres SCHEMA or TABLE using Windows Batch File使用 Windows 批处理文件删除 Postgres SCHEMA 或 TABLE
【发布时间】:2020-10-29 15:06:34
【问题描述】:
  1. 我想使用 批处理文件 在 PostgreSQL 中执行 DROP 和 CREATE SCHEMA。我在很多机器上都安装了 PostgresSQL,没有像 PgAdmin 这样的界面。

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

  3. 我已经想出了使用批处理文件恢复备份的命令。缺少的项目是 drop/create 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' 不是内部或外部命令、可运行程序或批处理文件。

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

【问题讨论】:

  • 您应该将命令传递到数据库。不确定如何在 Windows 上执行此操作,在 linux 上您可以使用 psql {commands here}

标签: postgresql schema pgadmin drop


【解决方案1】:

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

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

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

psql 会提示您输入密码,请参阅Run a PostgreSQL .sql file using command line arguments 了解可能的解决方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 2011-02-01
    相关资源
    最近更新 更多