无法找到任何教程,显示您通过root删除默认postgres用户时所执行的操作。
通过sudo apt-get install postgresql postgresql-contrib创建本地postgres服务器。在shell中,键入psql并且能够启动db。
在尝试使用某些内容时,在linux中登录root并删除postgres帐户。 2a:sudo pkill -KILL -u postgres 2b:sudo userdel postgres
删除了postgres服务器。重新安装。尝试通过shell登录postgres用户帐户时找不到用户。
尝试通过root运行postgres服务器,无法通过shell连接到服务器。
通过root重新创建postgres用户帐户:sudo adduser postgres --disabled-password。
Postgres用户通过root:sudo usermod -a -G sudo postgres
仍然无法连接到服务器:连接被拒绝。登录postgres用户。没变。
重新安装了postgres。同样的错误。
连连呢?
非常感谢。
答案 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