由于 postgres 权限错误,从非常旧的容器升级失败

继续从 Welcome to nginx! page before rebuild, site won’t rebuild now 开始的讨论:

当从非常旧的容器升级时,postgres 的权限是错误的(postgres 的 UID 和 GID 已更改)。要修复它,需要执行以下操作:

chmod -r 101.104 /var/discourse/shared/standalone/postgres_data

我已经这样做了好几次。我在对已链接主题的第一个回复中就发现了这个问题,但找出所需的 UID/GID 对大多数人来说并不容易。(找到一个正在工作的服务器并执行 ls -ld /var/discourse/shared/standalone/postgres_data 命令。)

3 个赞

或者,更简单的方法:

○ → docker run --rm discourse/base:2.0.20250226-0128 id postgres
uid=101(postgres) gid=104(postgres) groups=104(postgres),107(ssl-cert)

或者甚至更好:

docker run --rm -v /var/discourse/shared/standalone/postgres_data:/data discourse/base:2.0.20250226-0128 chown -R postgres:postgres /data
3 个赞

这正是我想要的答案。很多人可不认为这是“容易”的!

我只是没想到要运行裸容器。

1 个赞