【问题标题】:PostgreSQL replication between different major versions不同主要版本之间的 PostgreSQL 复制
【发布时间】:2017-09-25 13:39:24
【问题描述】:

AFAIK documentation 状态:

一般来说,运行不同主要 PostgreSQL 版本级别的服务器之间的日志传送是不可能的。 PostgreSQL 全球开发组的政策是在次要版本升级期间不更改磁盘格式,因此在主服务器和备用服务器上运行不同的次要版本级别很可能会成功运行。但是,没有提供正式支持,建议您尽可能将主服务器和备用服务器保持在相同的版本级别。

但我的问题是:磁盘格式实际上会在 9.4.9 和 9.5.6 之间变化吗?

我们目前正在运行:

  • x86_64-unknown-linux-gnu 上的 PostgreSQL 9.4.9,由 gcc (Debian 4.9.2-10) 4.9.2 编译,64 位
  • Debian GNU/Linux 8.6(杰西)

“下一个”可能的步骤是使用此 repo 中的版本:

http://apt.postgresql.org/pub/repos/apt/

我们当前的数据库约为 2TB,因此我们想尝试一种类似复制的方法以实现更平滑的过渡,而不是使用完整的 pg_dump 进行处理,这实际上需要在数据库冻结的情况下花费相当长的时间。

【问题讨论】:

  • 使用pg_upgrade 对你有用吗?跨版本复制依赖于第三方工具。或者,您是否查看过postgres_fdw
  • 我不知道pg_upgrade,但它似乎可以工作,postgres_fdw 方式也可以,但我想这会更“痛苦”

标签: postgresql database-migration database-replication postgresql-9.4 postgresql-9.5


【解决方案1】:

磁盘格式是否真的在 9.4.9 和 9.5.6 之间变化

是的。在即将到来的 PostgreSQL 10 之前,PostgreSQL 使用一种古怪的版本方案,其中“x.y”是“主要”版本,第三个数字是次要版本。

所以 9.4 和 9.5 是不同的主要版本。它们绝对不兼容磁盘。

要升级,您可以:

  • 转储并重新加载
  • 使用pg_upgrade(官方推荐的方式)
  • 使用pglogical
  • 使用朗迪斯特

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多