PostgreSQL 10 => 11.1关于Brew更新问题

时间:2018-12-28 22:07:01

标签: postgresql pg-upgrade

试图找到从PostgreSQL 10.6postgreSQL 11.1的迁移路径。

在两个版本中使用pg_upgrade都会给我带来错误。我认为11.1会用来将过时的表格转换为货币:

$ /usr/local/Cellar/postgresql/11.1/bin/pg_upgrade -v \
>     -b /usr/local/Cellar/postgresql@10/10.6/bin \
>     -B /usr/local/Cellar/postgresql/11.1/bin \
>     -d /usr/local/var/postgres \
>     -D /usr/local/var/postgres
Running in verbose mode
Performing Consistency Checks
-----------------------------
Checking cluster versions
This utility can only upgrade to PostgreSQL version 11.
Failure, exiting

由于10.6的预期结果,因为看不到前向结构:

/usr/local/Cellar/postgresql@10/10.6/bin/pg_upgrade -v \
>     -b /usr/local/Cellar/postgresql@10/10.6/bin \
>     -B /usr/local/Cellar/postgresql/11.1/bin \
>     -d /usr/local/var/postgres \
>     -D /usr/local/var/postgres
Running in verbose mode
Performing Consistency Checks
-----------------------------
Checking cluster versions
New cluster data and binary directories are from different major versions.
Failure, exiting

如何迁移表以使其与版本11.1一起正常使用?我假设使用的是后者版本,并且我的目录有效。

1 个答案:

答案 0 :(得分:2)

是的,您需要使用要升级到(11.1)版本的pg_upgrade。

您的-b和-B选项看起来不错。但是,您的-d和-D不能相同!配置位置还定义了数据位置,这些位置不能相同。您需要使用-D指定已初始化的11.1集群的配置位置。

如果您不希望pg_upgrade复制所有数据,请使用--link选项使用硬链接而不是复制。升级后,您可以删除旧数据目录。