微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不同版本的 pgsql 主从复制错误

如何解决不同版本的 pgsql 主从复制错误

我正在尝试将 ubuntu 18.04 LTS 中的 postgresql 10 作为主服务器复制到 ubuntu 16.04 中的 postgresql 9.5 从服务器,但出现错误

postgres@localhost:/root$ pg_basebackup -h 139.162.4.197 -U replication -p 5432 -D /var/lib/postgresql/9.5/main/  -Fp -Xs -P -R

Could not change directory to "/root": Permission denied
Password: 
pg_basebackup: incompatible server version 10.16 (Ubuntu 10.16-1.pgdg18.04+1)

但是当使用相同的 postgresql 版本如

  • postgresql 10 作为 master 和 postgresql 10 slave 或
  • postgresql 12 作为 master 和 postgresql 12 slave

它复制得很好

但是当使用不同的 postgresql 版本如

  • postgresql 10 作为 master 和 postgresql 9.5 slave 或
  • postgresql 12 作为 master 和 postgresql 10 slave

出现上述错误

pg_basebackup: 不兼容的服务器版本 10.16 (Ubuntu 10.16-1.pgdg18.04+1)

解决问题的任何线索

解决方法

这对于流式复制是不可能的;马的评论引用the documentation

通常,运行不同主要 PostgreSQL 版本级别的服务器之间的日志传送是不可能的。

但是从 PostgreSQL v10 开始,您可以使用 logical replication,它也适用于主要版本之间。问题在于并非所有内容都被复制:DDL 语句不是。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。