【问题标题】:pg_dumpall without dropping the superuserpg_dumpall 不删除超级用户
【发布时间】:2018-03-22 17:01:19
【问题描述】:

我有一个 postgres 9.6。我正在使用 pg_dumpall-c --if-exists 选项。

当我以超级用户身份从此备份文件恢复时,当它尝试删除角色时,我收到错误current user cannot be dropped。之后,当它尝试创建超级用户角色时,我收到了role "mysuperuser" already exists

这两个错误不会影响还原的成功。但是,我不希望出现此类不相关的错误。

我能做的是删除正在删除和创建上述超级用户角色的两行。

有没有更好的方法来做到这一点?因为为了实现这一点,我需要打开一个大文件并对其进行编辑。

【问题讨论】:

    标签: postgresql database-restore postgresql-9.6 pg-dumpall


    【解决方案1】:

    您可能想加入 postgreql.org 邮件列表之一,看看其他人是否发生过这种烦恼。这显然不是理想的行为。

    不过有一个简单的解决方法。创建一个新的超级用户(备份中不存在)并使用该用户进行恢复。

    【讨论】:

    • 此解决方案不适用于我的情况。 Postgres 10 返回此错误:ERROR: cannot drop role postgres because it is required by the database system
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-19
    • 2016-04-13
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    相关资源
    最近更新 更多