Postgresql 使用Windows批处理文件删除Postgres架构或表

Postgresql 使用Windows批处理文件删除Postgres架构或表,postgresql,schema,pgadmin,drop,Postgresql,Schema,Pgadmin,Drop,我想使用批处理文件在PostgreSQL中执行拖放和创建模式。我在许多没有像PgAdmin这样接口的机器上安装了PostgresSQL 我正在寻找一个简单的解决方案,让技术人员执行数据库重置和恢复生产现场的默认备份。批处理文件似乎是一个很好的解决方案 我已经找到了使用批处理文件恢复备份的命令。缺少的项目是drop/create模式(因为我需要在恢复默认备份之前创建新模式) 我尝试按照以下命令删除/创建架构。但是,它仅在通过PgAdmin使用或在CMD上的postgres=#提示符下手动键入

我想使用批处理文件在PostgreSQL中执行拖放和创建模式。我在许多没有像PgAdmin这样接口的机器上安装了PostgresSQL

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

  • 我已经找到了使用批处理文件恢复备份的命令。缺少的项目是drop/create模式(因为我需要在恢复默认备份之前创建新模式)

  • 我尝试按照以下命令删除/创建架构。但是,它仅在通过PgAdmin使用或在CMD上的postgres=#提示符下手动键入时有效

  • 在批处理文件中使用上述代码会生成以下错误
  • 不能将“drop”识别为内部或外部命令、可操作程序或批处理文件。


    任何建议,请让我知道。提前感谢您的帮助。

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

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

    psql-U-d-f drop.sql
    

    psql
    将提示您输入密码,请参阅以获取克服此问题的可能选项。

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

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

    psql-U-d-f drop.sql
    

    psql
    将提示您输入密码,请参阅以获取克服此问题的可能选项。

    您应该将命令传递到数据库。不知道如何在Windows上执行此操作,在linux上可以使用
    psql{commands here}
    将命令传递到数据库。不知道如何在Windows上执行此操作,在linux上可以使用
    psql{commands here}
    DROP SCHEMA public CASCADE;
    CREATE SCHEMA public;
    
    GRANT ALL ON SCHEMA public TO postgres;
    GRANT ALL ON SCHEMA public TO public;