【问题标题】:Recover postgres user in PostgreSQL在 PostgreSQL 中恢复 postgres 用户
【发布时间】:2018-08-22 19:18:36
【问题描述】:

我需要恢复postgres用户的超级用户权限,因为它失去了超级用户资格。

我不能在psql shell 中做任何事情,它会给出消息

must be superuser to create superusers

系统是 Ubuntu 16.04 和 PostgreSQL 9.5。
我可以恢复这个postgres 用户吗?

【问题讨论】:

    标签: postgresql superuser


    【解决方案1】:

    如果您设法删除所有用户的超级用户权限,则必须以单用户模式启动数据库:

    1. 作为操作系统用户postgres停止数据库服务器:

      /path/to/postgresql/bin/pg_ctl stop -D /path/to/data/directory
      
    2. 以单用户模式启动服务器:

      /path/to/postgresql/bin/postgres --single -D /path/to/data/directory postgres
      

      现在你是超级用户了。

    3. 恢复超级用户权限:

      ALTER ROLE postgres SUPERUSER
      
    4. 使用 CTRL+D(或 CTRL+Z 退出会话在 Windows 上)。

    5. 以通常的方式重新启动 PostgreSQL。

    【讨论】:

    • 感谢劳伦兹阿尔贝
    • @FernandoMiranda 如果该答案解决了您的问题,请accept 将您的问题标记为已解决
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-21
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    相关资源
    最近更新 更多