从PostgreSQL 8.3升级到9.1的迁移

3

我在从PostgreSQL 8.3迁移到9.1时遇到了问题。

/usr/lib/postgresql/9.1/bin/pg_upgrade -d /var/lib/postgresql/8.3/main -D /var/lib/postgresql/9.1/main -b /usr/lib/postgresql/8.3/bin -B /usr/lib/postgresql/9.1/bin -k -v
Running in verbose mode
Performing Consistency Checks
-----------------------------
Checking current, bin, and data directories                 ok
Checking cluster versions
Old cluster data and binary directories are from different major versions.
Failure, exiting

有人可以帮忙吗?谢谢。

1
你看到了 pg_upgrade 对于 8.3 的限制了吗:http://www.postgresql.org/docs/current/static/pgupgrade.html#AEN153788 - user330315
cat /var/lib/postgresql/8.3/main/PG_VERSION 的输出是什么?/usr/lib/postgresql/8.3/bin/postgres --version 的输出又是什么? - Craig Ringer
1个回答

5
我认为你不能从8.3直接升级到其他版本,而pg_upgrade只支持8.4或更高版本。然而,原来8.3也有一些额外的限制,可以支持升级。
如果你不能使用pg_upgrade,你必须通过备份和重新加载的方式进行升级。如果你需要备份并重新加载,那么最好直接升级到9.3,没有必要先备份并重新加载到8.4,再使用pg_upgrade进行升级。
在升级之前,请阅读当前版本与目标版本之间每个主要版本的发布说明中的升级部分。因此,阅读8.4、9.0、9.1、9.2和9.3版本的发布说明中的升级/兼容性部分。确保你知道 standard_conforming_strings变化、bytea_output默认变化等如何影响你的程序。
此外,在升级时,确保你的客户端驱动程序(psqlODBC、PgJDBC、nPgSQL、Python的psycopg2或其他)是最新的,最好与你即将使用的PostgreSQL数据库版本一样或更新。

谢谢您的回复!但是您确定吗?请查看http://www.postgresql.org/docs/9.1/static/pgupgrade.html,pg_upgrade支持从8.3.X及更高版本升级到当前主要版本的PostgreSQL,包括快照和alpha版本。 - oussemos
@oussemos 哎呀,是的 - 我错了,我以为它是从8.4开始支持的,但是8.3也支持一堆额外的限制。 - Craig Ringer

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