Thread
-
DOCS - CREATE PUBLICATION ... EXCEPT missing details on ONLY
Peter Smith <smithpb2250@gmail.com> — 2026-04-16T23:55:44Z
Hi, 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. PSA: a patch to clarify this. ====== [1] https://www.postgresql.org/docs/devel/sql-createpublication.html#SQL-CREATEPUBLICATION-PARAMS-FOR-EXCEPT-TABLE Kind Regards, Peter Smith. Fujitsu Australia
-
Re: DOCS - CREATE PUBLICATION ... EXCEPT missing details on ONLY
Amit Kapila <amit.kapila16@gmail.com> — 2026-04-17T10:44:25Z
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. -- With Regards, Amit Kapila.
-
Re: DOCS - CREATE PUBLICATION ... EXCEPT missing details on ONLY
Peter Smith <smithpb2250@gmail.com> — 2026-04-20T00:14:17Z
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.
-
Re: DOCS - CREATE PUBLICATION ... EXCEPT missing details on ONLY
Amit Kapila <amit.kapila16@gmail.com> — 2026-04-20T05:45:02Z
On Mon, Apr 20, 2026 at 5:44 AM Peter Smith <smithpb2250@gmail.com> wrote: > > 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. > No, I understood the point but didn't find it useful to add this to regular tables because they won't have children in any form. -- With Regards, Amit Kapila.
-
Re: DOCS - CREATE PUBLICATION ... EXCEPT missing details on ONLY
Peter Smith <smithpb2250@gmail.com> — 2026-04-20T07:14:25Z
On Mon, Apr 20, 2026 at 3:45 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > On Mon, Apr 20, 2026 at 5:44 AM Peter Smith <smithpb2250@gmail.com> wrote: > > > > 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. > > > > No, I understood the point but didn't find it useful to add this to > regular tables because they won't have children in any form. > Because regular tables won't have children in any form, a user could reasonably worry that saying ONLY or `*` might give a runtime error or a warning. There is no documentation to say otherwise. The patch addresses that gap. ====== Kind Regards, Peter Smith. Fujitsu Australia