Re: Pgoutput not capturing the generated columns

vignesh C <vignesh21@gmail.com>

From: vignesh C <vignesh21@gmail.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>, Michael Paquier <michael@paquier.xyz>, "Shinoda, Noriyoshi (SXD Japan FSIP)" <noriyoshi.shinoda@hpe.com>, Shubham Khanna <khannashubham1197@gmail.com>, Masahiko Sawada <sawada.mshk@gmail.com>, Rajendra Kumar Dangwal <dangwalrajendra888@gmail.com>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>, "euler@eulerto.com" <euler@eulerto.com>
Date: 2025-01-23T12:19:12Z
Lists: pgsql-hackers

Attachments

On Thu, 23 Jan 2025 at 17:03, Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Thu, Jan 23, 2025 at 11:18 AM Peter Smith <smithpb2250@gmail.com> wrote:
> >
> > Patch v56-0001 LGTM.
> >
>
> I have pushed this patch with minor modifications (especially I didn't
> took Peter Smith's last suggestion to convert some functions to return
> enum instead of char as the proposed one was consistent with
> subscription side code and avoided casting in the patch). On of the BF
> failed
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=crake&dt=2025-01-23%2010%3A17%3A03
>
> pg_dump: error: query failed: ERROR:  column "publish_gencols_none"
> does not exist
> LINE 1: ...elete, false AS pubtruncate, false AS pubviaroot, PUBLISH_GE...
>                                                              ^
> pg_dump: detail: Query was: SELECT p.tableoid, p.oid, p.pubname,
> p.pubowner, p.puballtables, p.pubinsert, p.pubupdate, p.pubdelete,
> false AS pubtruncate, false AS pubviaroot, PUBLISH_GENCOLS_NONE AS
> pubgencols_type FROM pg_publication p
> pg_dumpall: error: pg_dump failed on database "template1", exiting
>
> It is probably the case with dump/restore of previous versions. I'll
> look into this.

When dumping from Postgres <=PG17 servers, the query generated for
pubgencols_type incorrectly included the macro name instead of the
macro value. This resulted in dump failures. This commit fixes the
issue by correctly specifying the macro value in the query. The
attached patch has the changes for the same.

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.