postgresql 将Postgres主/备用从11升级到12

xzv2uavs  于 2023-02-04  发布在  PostgreSQL
关注(0)|答案(2)|浏览(227)

我正在尝试将Postgres从11升级到12。
旧数据目录-/var/lib/pgsql/11/数据
新数据目录-/var/lib/pgsql/12/数据
在使用pg_upgrade--link升级主目录(主目录和备用目录仍处于关闭状态)之后,我按照manual的建议从主目录和旧目录和新目录之上发出rsync命令。rsync--archive--delete--hard-links--size-only--no-inc-recursive old_cluster new_cluster remote_dir
在我的例子中,rsync--存档--删除--硬链接--仅大小--不包含递归/var/lib/pgsql/11/data/var/lib/pgsql/12/data测试-标准依据:/var/lib/pgsql

  • --并且remote_dir位于备用服务器上的新旧集群目录之上 *-按照手册。

但是,我看到在备用数据库上的/var/lib/pgsql下创建了一个数据目录,即/var/lib/pgsql/data,而不是在/var/lib/pgsql/12下创建
我错过了什么?
另外,我的postgresql. conf中的所有内容都已注解,所有自定义设置都在由postgresql. conf中的include_dir ='conf. d '指定的conf. d目录下对于postgresql12,由于待机状态下的primary_connection_info需要成为postgresql. conf的一部分,而不是recovery. conf的一部分,我可以简单地将recovery. conf文件与primary_connect信息一起放在我的conf. d目录下吗?
提前致谢!

dsekswqp

dsekswqp1#

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

oewdyzsn

oewdyzsn2#

该命令应该是:

rsync --archive --delete --hard-links --size-only --no-inc-recursive /var/lib/pgsql/11 /var/lib/pgsql/12 test-stdby:/var/lib/pgsql

相关问题