I ran some tests and verified that the patch works with previous versions of PG12 and PG17
1. Verified with publications with generated columns and without generated columns on patched code and subscriptions on PG12 and PG17
Observations:
a. If publication is created with publish_generated_columns=true or with generated columns mentioned explicitly, then tablesync will not copy generated columns but post tablesync the generated columns are replicated
b. Column list override (publish_generated_columns=false) behaviour
These seem expected.
2. Publication on PG12 and PG17 with subscription on patched code:
Observation:
Behaves as if without patch.
3. Pg_dump - confirmed that the new version correctly dumps the new syntax
4. Pg_upgrade - confirmed that when updating from previous version to the latest the "Generated columns" field default to false.
5. Verified that publications with different column list are disallowed to be subscribed by one subscription
a. PUB_A(column list = (a, b)) PUB_B(no column list, with publish_generated_column) - OK
b. PUB_A(column list = (a, b)) PUB_B(no column list, without publish_generated_column) - FAIL
c. PUB_A(no column list, without publish_generated_column) PUB_B(no column list, with publish_generated_column) - FAIL
Tests did not show any unexpected behaviour.
regards,
Ajin Cherian
Fujitsu Australia