【问题标题】:Accidentally removed super user privilege from user: postgres on postgres 10. How to get it back without re installing?意外删除了用户的超级用户权限:postgres 10 上的 postgres。如何在不重新安装的情况下取回它?
【发布时间】:2020-01-13 17:31:04
【问题描述】:

我不小心删除了用户 postgres 的超级用户权限。我不知道如何获得另一个超级用户。我停止了 postgres 服务并尝试使用单用户模式登录:

/usr/pgsql-10/bin/postgres --single -D /var/lib/pgsql/10/data

我得到这个错误:

不允许“root”执行 PostgreSQL 服务器。 服务器必须在非特权用户 ID 下启动,以防止 可能的系统安全妥协。请参阅文档 有关如何正确启动服务器的更多信息。

在 Linux 中,如何在单用户模式下启动 Postgres,以便修复超级用户权限?

编辑:我使用此链接作为参考,但我收到了上述错误。 Accidently removed postgres default superuser privileges - can I get it back?

【问题讨论】:

  • 只需以用户postgres 而不是root 的身份进行操作,它就会像魅力一样工作。
  • @LaurenzAlbe:感谢您的评论。我做了一个变体,解决了这个问题。

标签: linux postgresql postgresql-10


【解决方案1】:

我结合了这三个链接的解决方案:

  1. Accidently removed postgres default superuser privileges - can I get it back?
  2. Restoring the superuser account on the postgres server
  3. “root” execution of the PostgreSQL server is not permitted

停止 postgresql 服务后,我运行了这个命令:

sudo -u postgres /usr/pgsql-10/bin/postgres --single -D /var/lib/pgsql/10/data
  1. /usr/pgsql-10/bin/postgres 是我的 postgres 二进制文件的位置

  2. /var/lib/pgsql/10/data 是我的 postgresql conf 的位置

这让我可以访问单用户模式,我只需输入以下命令:

ALTER USER postgres SUPERUSER;

因此,如果有人遇到与我相同的情况,请尝试发布的命令。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 2011-10-12
    • 2023-03-08
    • 2022-01-25
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    相关资源
    最近更新 更多