Re: DOCS - CREATE PUBLICATION ... EXCEPT missing details on ONLY - Mailing list pgsql-hackers

From Peter Smith
Subject Re: DOCS - CREATE PUBLICATION ... EXCEPT missing details on ONLY
Date
Msg-id CAHut+PuUdhCMqKiCs1Rpp9YP07djN4BWwXQ8E5kS5xYYg+-nzQ@mail.gmail.com
Whole thread
In response to Re: DOCS - CREATE PUBLICATION ... EXCEPT missing details on ONLY  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: DOCS - CREATE PUBLICATION ... EXCEPT missing details on ONLY
List pgsql-hackers
On Fri, Apr 17, 2026 at 8:44 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
>
> On Fri, Apr 17, 2026 at 5:26 AM Peter Smith <smithpb2250@gmail.com> wrote:
> >
> > Currently, the EXCEPT (TABLE ...) part mentions how 'ONLY' and '*'
> > work for inheritance tables, but how they have no effect for
> > partitioned tables [1].
> >
> > It seems we accidentally missed saying that these also have no effect
> > for *regular* tables.
> >
>
> The sentence you quoted speaks about partitioned tables specifically,
> so not mentioning regular tables there seems reasonable to me.
>

I think you missed my point.

The EXCEPT clause syntax allows any of the following:

... EXCEPT (TABLE ONLY parent_table);
... EXCEPT (TABLE parent_table *);

... EXCEPT (TABLE ONLY partitioned_root_table);
... EXCEPT (TABLE partitioned_root_table *);

... EXCEPT (TABLE ONLY regular_table);
... EXCEPT (TABLE regular_table *);

~~

Where:

1. Using ONLY/* for parent_table has a meaning.
2. Using ONLY/* for partitioned_root_table has no meaning but it is
allowed/ignored.
3. Using ONLY/* for regular_table has no meaning but it is allowed/ignored.

The EXCEPT clause documentation already described cases 1 and 2, but
it said nothing about case 3.

I could have left the original 'partitioned tables' paragraph alone,
and then written separately about the regular tables. e.g:
------
For partitioned tables, only the root partitioned table may be
specified in EXCEPT. Doing so excludes the root table and all of its
partitions from replication. The optional ONLY and * has no effect for
partitioned tables.

The optional ONLY and * have no effect for regular tables.
------

But it seemed unnecessarily repetitive, so the patch seperates that
common behaviour to say:
------
For partitioned tables, only the root partitioned table may be
specified in EXCEPT. Doing so excludes the root table and all of its
partitions from replication.

The optional ONLY and * have no effect for regular or partitioned tables.
------

======
Kind Regards,
Peter Smith.
Fujitsu Australia.



pgsql-hackers by date:

Previous
From: Dmitry Koval
Date:
Subject: Re: MERGE PARTITIONS and DEPENDS ON EXTENSION.
Next
From: SATYANARAYANA NARLAPURAM
Date:
Subject: Re: [BUG]: WHERE CURRENT OF cursor fail on tables that have virtual generated columns