Re: Pgoutput not capturing the generated columns

Ajin Cherian <itsajin@gmail.com>

From: Ajin Cherian <itsajin@gmail.com>
To: Peter Smith <smithpb2250@gmail.com>
Cc: vignesh C <vignesh21@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>, Shubham Khanna <khannashubham1197@gmail.com>, Masahiko Sawada <sawada.mshk@gmail.com>, Rajendra Kumar Dangwal <dangwalrajendra888@gmail.com>, pgsql-hackers@lists.postgresql.org, euler@eulerto.com
Date: 2024-10-31T10:55:49Z
Lists: pgsql-hackers
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

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Doc: Generated column replication.

  2. Rename pubgencols_type to pubgencols in pg_publication.

  3. Doc: Fix column name in pg_publication catalog.

  4. Fix buildfarm failure introduced by commit e65dbc9927.

  5. Change publication's publish_generated_columns option type to enum.

  6. Fix \dRp+ output when describing publications with a lower server version.

  7. Replicate generated columns when 'publish_generated_columns' is set.

  8. Doc: Update the behavior of generated columns in Logical Replication.

  9. Replicate generated columns when specified in the column list.

  10. Doc: Generated columns are skipped for logical replication.