From: | Peter Eisentraut <peter(at)eisentraut(dot)org> |
---|---|
To: | vignesh C <vignesh21(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com> |
Cc: | 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-22 13:52:19 |
Message-ID: | 18f56f71-ea01-41aa-811e-367b692e9ca4@eisentraut.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 21.01.25 09:27, vignesh C wrote:
>> Maybe I have some fundamental misunderstanding here, but I don't see
>> why "this approach cannot be used with psql because older version
>> servers may not have these columns". Not having the columns is the
>> whole point of using an alias approach in the first place e.g. the
>> below table t1 does not have a column called "banana" but it works
>> just fine to select an alias using that name...
>
> This is simpler than maintaining the indexes. I misunderstood your
> comment to include displaying the columns for older versions, I did
> not want to display a value for the older versions as these columns do
> not exist. I have updated the patch based on the alias approach. The
> attached patch has the changes for the same.
The v54-0004 patch looks ok to me. Thanks for working on this.
I will wait until that gets committed before moving forward with the
virtual generated columns patch.
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.
+ <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>.
+<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.
+ <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.
From | Date | Subject | |
---|---|---|---|
Next Message | m.litsarev | 2025-01-22 13:54:40 | Re: pg_stat_statements: improve loading and saving routines for the dump file |
Previous Message | David G. Johnston | 2025-01-22 13:38:34 | Re: [PATCH] Fix a tiny typo in the documentation |