Re: Pgoutput not capturing the generated columns

From: Peter Smith <smithpb2250(at)gmail(dot)com>
To: Peter Eisentraut <peter(at)eisentraut(dot)org>
Cc: vignesh C <vignesh21(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, "Shinoda, Noriyoshi (SXD Japan FSIP)" <noriyoshi(dot)shinoda(at)hpe(dot)com>, Shubham Khanna <khannashubham1197(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Rajendra Kumar Dangwal <dangwalrajendra888(at)gmail(dot)com>, "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>, "euler(at)eulerto(dot)com" <euler(at)eulerto(dot)com>
Subject: Re: Pgoutput not capturing the generated columns
Date: 2025-01-23 03:48:41
Message-ID: CAHut+PuD7_yh54z-sGyK9xBq9cwUeJUG0BRQaHOhCLdw8msnjQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Vignesh,

Patch v55-0002 (the docs chapter one) is a re-badged v54-0005.

I've addressed the PeterE review comments [1] as detailed below.:

FYI, because v55-0001 was broken I have posted this DOCS patch
separately. Please add it back into the patch set as vXX-0002 when you
next post it.

On Thu, Jan 23, 2025 at 12:52 AM Peter Eisentraut <peter(at)eisentraut(dot)org> wrote:
>
> A few quick comments on the v54-0005 patch (the documentation one):
>
> +<programlisting>
> +test_pub=# CREATE TABLE tab_gen_to_gen (a int, b int GENERATED ALWAYS
> AS (a + 1) STORED);
>
> I don't like when examples include the prompt like this. Then it's
> harder to copy the commands out of the examples.
>

I didn't remove all of these prompts because for logical replication
they add value by differentiating which pub/sub node the command is
run on. Also, these prompts are consistent with all other sections of
Chapter 29 -- e.g. see "Row filters", "Column Lists", and more.

OTOH, I did remove all the "continuation" prompts, so now command
cut/copy is easy.

> + <row>
> +
> <entry>No</entry><entry>GENERATED</entry><entry>GENERATED</entry><entry>Publisher
> table column is not replicated. Use the subscriber table generated
> column value.</entry>
> + </row>
>
> This should be formatted vertically, one line per <entry>.
>

Fixed.

> +<programlisting>
> +test_pub=# CREATE TABLE t1 (a int PRIMARY KEY, b int,
> +test_pub(# c int GENERATED ALWAYS AS (a + 1) STORED,
> +test_pub(# d int GENERATED ALWAYS AS (b + 1) STORED);
>
> Also here check that this is formatted more consistently with the rest
> of the documentation.
>

I modified it to put every column on a separate line (e.g. same
formatting as examples on the CREATE TABLE page). As mentioned above,
the continuation prompts are also removed now.

> + <itemizedlist>
> + <listitem><para>
> + <literal>t1.a</literal> is a regular column. It gets replicated
> normally.
> + </para></listitem>
> + <listitem><para>
> + <literal>t1.b</literal> is a regular column. It gets replicated
> normally.
> + </para></listitem>
>
> Leave more whitespace. Typically, there is a blank line between block
> elements on the same level.
>

Fixed.

======
[1] PeterE v54-0005 review -
https://www.postgresql.org/message-id/18f56f71-ea01-41aa-811e-367b692e9ca4%40eisentraut.org

Kind Regards,
Peter Smith.
Fujitsu Australia

Attachment Content-Type Size
v56-0001-DOCS-Generated-Column-Replication.patch application/octet-stream 12.8 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2025-01-23 03:53:29 Re: Pgoutput not capturing the generated columns
Previous Message Peter Smith 2025-01-23 03:35:06 Re: Skip collecting decoded changes of already-aborted transactions