升级到PostgreSQL 10并希望使用校验和。

9
我有一个postgresql 9.3实例,想要升级到postgresql 10。我有一个命令,认为应该可以工作,但它包括checksums。我的旧实例没有启用checksums(是否能够实现?太久以前忘记了),这阻止了我的试运行正确工作。

错误消息

Performing Consistency Checks on Old Live Server
------------------------------------------------
Checking cluster versions                                   ok

old cluster does not use data checksums but the new one does
Failure, exiting

我的命令被剥离了真实路径

time ${PGBINNEW}/pg_upgrade --old-bindir=${PGBINOLD} --new-bindir=${PGBINNEW} --old-datadir=${PGDATAOLD} --new-datadir=${PGDATANEW} --old-port=${PGPORT} --new-port=${PGPORT} --jobs=$(nproc | awk '{ {print ($1 > 4) ? 4 : ($1 == 1 ? 1 : $1 - 1)} }') --link --username=postgres --check

我该怎么做才能解决这个问题?

2个回答

8

在我升级pg时发生了这种情况。我只需使用以下命令禁用校验和:

$ pg_checksums -d /var/lib/postgres/data/
pg_checksums: syncing data directory
pg_checksums: updating control file
Checksums disabled in cluster

在我的情况下,/var/lib/postgres/data是数据目录。你的情况可能不同。

0

解决上述问题: 旧的集群不使用数据校验和,但新的集群使用 失败,退出 错误:安装新数据集群时

执行以下命令: .initdb -k -D /您的数据目录路径/ 然后执行升级操作


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接