PostgreSQL在事故中删除了用户postgres

时间:2016-03-02 00:04:59

标签: postgresql ubuntu

无法找到任何教程,显示您通过root删除默认postgres用户时所执行的操作。

  1. 通过sudo apt-get install postgresql postgresql-contrib创建本地postgres服务器。在shell中,键入psql并且能够启动db。

  2. 在尝试使用某些内容时,在linux中登录root并删除postgres帐户。 2a:sudo pkill -KILL -u postgres 2b:sudo userdel postgres

  3. 删除了postgres服务器。重新安装。尝试通过shell登录postgres用户帐户时找不到用户。

  4. 尝试通过root运行postgres服务器,无法通过shell连接到服务器。

  5. 通过root重新创建postgres用户帐户:sudo adduser postgres --disabled-password。

  6. Postgres用户通过root:sudo usermod -a -G sudo postgres

  7. 仍然无法连接到服务器:连接被拒绝。登录postgres用户。没变。

  8. 重新安装了postgres。同样的错误。

  9. 连连呢?

    非常感谢。

1 个答案:

答案 0 :(得分:1)

您并不需要名为postgres的用户,您需要拥有数据目录,二进制文件和配置文件的用户。您应该检查哪个uid和gid现在与您的数据目录关联,然后创建具有该特定uid和gid的用户。但要先检查那些id属于谁。如果当前没有用户拥有这些uid和gid,则创建一个包含这些值的新用户:

useradd -u 123 -g 456 postgres

或者,重新创建用户postgres并将数据目录和二进制文件分配给该新用户(假设组postgres仍然存在):

useradd -G postgres postgres
chown -r postgres:postgres $PGDATA
chown -r postgres:postgres /wherever/bin/is
chown -r postgres:postgres /wherever/conf/is