【问题标题】:pg_dumpall - Azure Database for PostgreSQL - permission denied for database "azure_maintenance"pg_dumpall - Azure Database for PostgreSQL - 拒绝数据库“azure_maintenance”的权限
【发布时间】:2019-10-03 12:45:39
【问题描述】:

PGPASSWORD=我的密码 pg_dumpall -h mydbname.postgres.database.azure.com -p 5432 -U admin@mydbname

pg_dump: [archiver (db)] 连接到数据库“azure_maintenance” 失败:致命:数据库“azure_maintenance”的权限被拒绝 详细信息:用户没有 CONNECT 权限。 pg_dumpall: pg_dump 数据库“azure_maintenance”失败,退出

如何备份 Azure Postgresql 托管服务中的所有数据库?

【问题讨论】:

  • 您希望在 azure_maintenance db 上完成此操作是否有特殊原因?您应该能够对所有用户数据库执行此操作而不会出现问题,但就 azure_maintenance db 而言,用户没有执行此操作所需的访问权限。
  • 你是怎么排序的?
  • 我在单独的脚本中列出数据库名称,并一一转储:/
  • 也尝试使用 pg_dumpall 执行此操作并遇到相同的问题。有什么办法可以避免一一做吗?或者有什么更好的方法可以在 Azure 上转储和恢复 300 多个中型数据库?

标签: postgresql azure pg-dumpall


【解决方案1】:

由于 PostgreSQL 12.0 pg_dumpall 有一个--exclude-database 选项(请参阅Release Notes)。
以下应该工作:

pg_dumpall -h mydbname.postgres.database.azure.com -p 5432 -U admin@mydbname --exclude-database=azure* --clean --file=dump.sql

【讨论】:

    猜你喜欢
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多