Re: Pgoutput not capturing the generated columns
Peter Eisentraut <peter@eisentraut.org>
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.
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Doc: Generated column replication.
- 6252b1eaf82b 18.0 landed
-
Rename pubgencols_type to pubgencols in pg_publication.
- 75eb9766ec20 18.0 landed
-
Doc: Fix column name in pg_publication catalog.
- 117f9f328e0f 18.0 landed
-
Fix buildfarm failure introduced by commit e65dbc9927.
- b35434b134b1 18.0 landed
-
Change publication's publish_generated_columns option type to enum.
- e65dbc9927fb 18.0 landed
-
Fix \dRp+ output when describing publications with a lower server version.
- 991974bb4888 18.0 landed
-
Replicate generated columns when 'publish_generated_columns' is set.
- 7054186c4ebe 18.0 landed
-
Doc: Update the behavior of generated columns in Logical Replication.
- 5b0c46ea0932 18.0 landed
-
Replicate generated columns when specified in the column list.
- 745217a051a9 18.0 landed
-
Doc: Generated columns are skipped for logical replication.
- 7a089f6e6a14 17.0 cited