Обсуждение: physical replication compatibilty
Dear PostgreSQL Community,
I am currently planning a major version upgrade from PostgreSQL 16 to PostgreSQL 17. I have three node patroni cluster. While I am aware that logical replication is the standard approach for cross-version migrations, I am curious about the feasibility of physical streaming replication in this specific scenario.
Specifically, I would like to clarify:
- Is physical streaming replication backward compatible between these two major versions?
- Since many data files remain consistent between versions, is there any supported method to leverage physical block-level replication to minimize the initial data synchronization time before a cutover?
I understand that WAL formats and system catalogs typically change between major releases, but I wanted to confirm if there are any modern workarounds or "late-binding" techniques available in the v17 ecosystem.
Thank you for your time and expertise.
Best regards,
On Wed, Apr 15, 2026 at 3:06 PM Jatinder Singh Sandhu <jitu.sandhu@gmail.com> wrote:
Is physical streaming replication backward compatible between these two major versions?
pg_upgrade can perform this kind of physical transfer upgrade.
Physical replication is only reliable when the source and target are basically identical in platform and software. It cannot be expected to work between major versions.
David J.
On 4/15/26 3:06 PM, Jatinder Singh Sandhu wrote: > Dear PostgreSQL Community, > I am currently planning a major version upgrade from PostgreSQL 16 to > PostgreSQL 17. I have three node patroni cluster. While I am aware that > logical replication is the standard approach for cross-version > migrations, I am curious about the feasibility of physical streaming > replication in this specific scenario. > Specifically, I would like to clarify: > > 1. Is physical streaming replication backward compatible between these > two major versions? > 2. Since many data files remain consistent between versions, is there > any supported method to leverage physical block-level replication to > minimize the initial data synchronization time before a cutover? > > I understand that WAL formats and system catalogs typically change > between major releases, but I wanted to confirm if there are any modern > workarounds or "late-binding" techniques available in the v17 ecosystem. > Thank you for your time and expertise. I think you are looking for: https://www.postgresql.org/docs/17/pgupgrade.html In particular this: 13. Upgrade streaming replication and log-shipping standby servers Whether that will play well with the Patroni cluster or not is not something I can comment on. It is covered below though: https://patroni.readthedocs.io/en/latest/existing_data.html#major-upgrade-of-postgresql-version > Best regards,