Re: [Patch] Omit virtual generated columns from test_decoding output

From: "Euler Taveira" <euler(at)eulerto(dot)com>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Cc: "SATYANARAYANA NARLAPURAM" <satyanarlapuram(at)gmail(dot)com>
Subject: Re: [Patch] Omit virtual generated columns from test_decoding output
Date: 2026-05-05 03:08:58
Message-ID: 48110911-4707-4945-8d19-6afc9829fd1f@app.fastmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, May 4, 2026, at 10:11 PM, SATYANARAYANA NARLAPURAM wrote:
>
> Virtual generated columns are not stored on disk, so heap_getattr() in
> tuple_to_stringinfo() always returned NULL for them, producing
> misleading output such as
>
> table public.t: INSERT: a[integer]:1 b[integer]:10 c[integer]:null
>
> even though the user could observe a non-null value via SELECT. Stored
> generated columns continue to be emitted as before because their values
> do live in the heap tuple.
>

I wouldn't say misleading but expected. Logical decoding relies on WAL and
virtual generated columns are not stored in the WAL.

> This matches the pgoutput's logicalrep_should_publish_column()
> which never publishes virtual generated columns. Added a regression test.
> Please find the patch attached.
>

There is no guarantee that test_decoding should match the pgoutput. I agree that
test_decoding shouldn't output virtual generated columns. The problem is that it
already does it. I'm afraid that removing it should break existing applications.
(I heard that some solutions rely on test_decoding for CDC.) Should we change it
as you proposed or add an option to put it back to keep the old behavior?

I didn't review your patch but I noticed that there is a new test file for this
change. There are some concerns about the total test execution time. Do you
really need to include this test? If so, should you combine it with an existing
test file?

--
Euler Taveira
EDB https://www.enterprisedb.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Chao Li 2026-05-05 03:10:10 Re: Fix race condition in pg_get_publication_tables with concurrent DROP TABLE
Previous Message Chao Li 2026-05-05 03:08:29 Re: Fix race condition in pg_get_publication_tables with concurrent DROP TABLE