Re: Skipping schema changes in publication

From: shveta malik <shveta(dot)malik(at)gmail(dot)com>
To: vignesh C <vignesh21(at)gmail(dot)com>
Cc: Peter Smith <smithpb2250(at)gmail(dot)com>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, Shlok Kyal <shlok(dot)kyal(dot)oss(at)gmail(dot)com>, Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>, Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, YeXiu <1518981153(at)qq(dot)com>, Ian Lawrence Barwick <barwick(at)gmail(dot)com>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, shveta malik <shveta(dot)malik(at)gmail(dot)com>
Subject: Re: Skipping schema changes in publication
Date: 2026-03-18 04:10:24
Message-ID: CAJpy0uCMnF25JNgx1vnQMV3FQoiiqdOJYwnCqYcOZ-g6B8+fWA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Mar 17, 2026 at 9:21 PM vignesh C <vignesh21(at)gmail(dot)com> wrote:
>
>
> These comments are addressed in the v65 version patch attached. Also
> the comments from [1] have been addressed in this.
> [1] - https://www.postgresql.org/message-id/CAA4eK1%2BmSpCzj%2BB2PW_68DJpXHA0KMgT9Nrz9P83_c1vdKya8g%40mail.gmail.com
>

Thanks, few trivial things:

1)
In the doc we talk about the first two variants and then the third
variant. IIUC, you need to change variants to match the new details,
i.e.

Change these:
ALTER PUBLICATION name ADD publication_object [, ...]
ALTER PUBLICATION name SET { publication_object [, ...] |
publication_all_object [, ... ] }
ALTER PUBLICATION name DROP publication_drop_object [, ...]

to:
ALTER PUBLICATION name ADD publication_object [, ...]
ALTER PUBLICATION name DROP publication_drop_object [, ...]
ALTER PUBLICATION name SET { publication_object [, ...] |
publication_all_object [, ... ] }

or change the details to match variants.

2)

+ /*
+ * Publications contain either only EXCEPT entries or only included
+ * tables. So checking a single tuple is sufficient.
+ */
+ result = !pubrel->prexcept;

The command looks slightly misleading, can we please change it to:

For any publication, pg_publication_rel contains either only EXCEPT
entries or only explicitly included tables. Therefore, examining the
first tuple is sufficient to determine table inclusion.

3)
publication_add_relation() contains repetitive comments at both the
beginning and end of the function regarding invalidation of EXCEPT
tables. We can keep the first one (slightly rephrased, if needed, to
incorporate the second) and remove the latter.

thanks
Shveta

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Smith 2026-03-18 04:27:26 Re: Skipping schema changes in publication
Previous Message David Steele 2026-03-18 04:05:24 Re: Return pg_control from pg_backup_stop().