Re: Pgoutput not capturing the generated columns

vignesh C <vignesh21@gmail.com>

From: vignesh C <vignesh21@gmail.com>
To: Shubham Khanna <khannashubham1197@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>, Amit Kapila <amit.kapila16@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-29T15:20:15Z
Lists: pgsql-hackers

Attachments

On Tue, 29 Oct 2024 at 17:09, Shubham Khanna
<khannashubham1197@gmail.com> wrote:
>
> While performing the Backward Compatibility Test, I found that
> 'tablesync' is not working for the older versions i.e., from
> version-12 till version-15.
> I created 2 nodes ; PUBLISHER on old versions and SUBSCRIBER on HEAD +
> v45 Patch for testing.
> Following was done on the PUBLISHER node:
> CREATE TABLE t1 (c1 int, c2 int GENERATED ALWAYS AS (c1 * 2) STORED);
> INSERT INTO t1 (c1) VALUES (1), (2);
> CREATE PUBLICATION pub1 for table t1;
>
> Following  was done on the SUBSCRIBER node:
> CREATE TABLE t1 (c1 int, c2 int);
> CREATE SUBSCRIPTION sub1 CONNECTION 'dbname=postgres' PUBLICATION pub1;
>
> Following Error occurs repeatedly in the Subscriber log files:
> ERROR:  could not start initial contents copy for table "public.t1":
> ERROR:  column "c2" is a generated column
> DETAIL:  Generated columns cannot be used in COPY.

Thank you for reporting this issue. The attached v46 patch addresses
the problem and includes some adjustments to the comments. Thanks to
Amit for sharing the comment changes offline.

Regards,
Vignesh

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.