尝试从 9.6 升级到 11.6 时出现以下错误:
su - postgres -c '/usr/pgsql-11/bin/pg_upgrade -d /opt/collabnet/teamforge/var/pgsql/9.6/data -D /opt/collabnet/teamforge/var/pgsql/11/data -b /usr/pgsql-9.6/bin -B /usr/pgsql-11/bin'
执行一致性检查
检查集群版本正常
源集群未完全关闭。失败,退出
答案1
似乎是这里报告的一个错误https://www.postgresql.org/message-id/CACAAi_6c4hhhxFnUnerrBsfkS1+9CFBt79ORgp_8m6+Snck0Qw@mail.gmail.com
据我所知,如果您仍有应用服务与 PG DB 交互,则 DB 可能处于在关闭之前执行某些 Crud 操作的状态。我怀疑源数据库未正确关闭。修复它的步骤。
- 停止应用服务与 PG 数据库对话。
- 启动 Postgres 9.6。登录 PSQL 并检查除 127.0.0.x 之外的任何活动连接。
- 使用以下方法停止数据库
pg_ctl stop -D /opt/collabnet/teamforge/var/pgsql/9.6/data
- 另请确认该
/opt/collabnet/teamforge/var/pgsql/9.6/data/postmaster.pid
文件不存在。 - 停止 Postgres 9.6 并重试 pg_upgrade。