将Postgres Primary / Standby从11升级到12

时间:2020-05-08 18:35:16

标签: postgresql

我正在尝试将Postgres从11升级到12。

旧数据目录-/ var / lib / pgsql / 11 / data

新数据目录-/ var / lib / pgsql / 12 / data

在使用pg_upgrade --link升级主数据库后(主数据库和备用数据库仍处于关闭状态),我发出了manual建议的rsync命令,该命令来自于主数据库以及旧数据目录和新数据目录。 rsync --archive --delete --hard-links --size-only --no-inc-递归old_cluster new_cluster remote_dir

就我而言, rsync --archive --delete --hard-links --size-only --no-inc-递归/ var / lib / pgsql / 11 / data / var / lib / pgsql / 12 / data test-stdby:/ var / lib / pgsql

-并且remote_dir在备用数据库上的旧群集目录和新群集目录上方-根据手册。

但是,我看到在备用数据库的/ var / lib / pgsql下创建了一个数据目录,即/ var / lib / pgsql / data,而不是在/ var / lib / pgsql / 12下创建了

我想念什么?

此外,我的postgresql.conf注释了所有内容,所有自定义设置都在conf.d目录下,该目录由postgresql.conf中的include_dir ='conf.d'指定。 对于postgresql12,由于备用数据库上的primary_connection_info需要是postgresql.conf的一部分,而不是recovery.conf的一部分,我可以简单地将具有primary_connect info的recovery.conf文件放在conf.d目录中吗?有关如何运作的任何经验吗?

预先感谢!

1 个答案:

答案 0 :(得分:0)

显然,您不能使用rsync方法来为大型升级重建备用数据库,这会导致数据文件不兼容错误。 pgbasebackup是您最好的选择。 (也快得多)