postgresql - 无法重新启动 postgres 集群,因为不存在用户 ID,无法添加具有该 ID 的用户,因为它存在

标签 postgresql ubuntu psql ubuntu-20.04

我正在尝试重新启动我的 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/

相关文章:

postgresql - 排除损坏的页面 block 的 Postgres 转储

java - 使用带有注解的MyBatis如果发生MySql错误则抛出自己的自定义异常

sql - Rails 4 ActiveRecord 有很多通过关系无法从 sql 文件读取

postgresql - postgres 数据库的理想最大连接数是多少?

ubuntu - 如何在 Ubuntu (14.04) 上更新 mingw32 中的 gcc?

Docker 应用程序并不总是在 Ubuntu 20.04 中找到串行端口

ruby-on-rails - Rails ActiveRecord:PG::错误:错误:列引用 "created_at"不明确

PostgreSQL:从 public 中撤销 DELETE 但没有任何反应

linux - 将多轨+字幕 .MKV 转换为 MP4

postgresql - PSQL 传递外部变量