我正在尝试重新启动我的 postgres 集群,但它应该由不存在的用户 ID 拥有。当我尝试添加该用户时,它应该是存在的。
我能从这里做什么?
root@localhost:~# pg_lsclusters
12 main 5432 down /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12 main.log
root@localhost:~# pg_ctlcluster 12 主重启 Error: The cluster is owned by user id 109 which does not exist
root@localhost:~# sudo adduser -UID 109 postgres adduser: The GID 109 is already in use.
用户应该在也不存在的组 116 中。重新添加合适的用户和用户组后并没有帮助我重启集群,我干脆把集群删掉了,再添加一个。现在我又有了一个正在运行的 postgres 集群。
root@localhost:~# pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
12 main 5432 down postgres /var/lib/postgresql/12/main /var/log
/postgresql/postgresql-12-main.log
root@localhost:~# sudo systemctl stop postgresql@12-main
root@localhost:~# sudo pg_dropcluster --stop 12 main
root@localhost:~# sudo pg_createcluster --start 12 main
Ver Cluster Port Status Owner Data directory Log file
12 main 5432 online postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.log
最佳答案
组 109 已经存在,但用户 109 不存在,因此解决方案是在该组中创建一个 ID 为 116 的新组和一个 ID 为 109 的新用户:
groupadd --gid 116 postgres
useradd --gid 116 --no-user-group --uid 109 --home-dir /var/lib/postgresql postgres
下次,不要放弃您仍然需要的用户...
关于postgresql - 无法重新启动 postgres 集群,因为不存在用户 ID,无法添加具有该 ID 的用户,因为它存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72474709/