| From: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
|---|---|
| To: | Peter Smith <smithpb2250(at)gmail(dot)com> |
| Cc: | vignesh C <vignesh21(at)gmail(dot)com>, Shlok Kyal <shlok(dot)kyal(dot)oss(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, shveta malik <shveta(dot)malik(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(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>, "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> |
| Subject: | Re: Skipping schema changes in publication |
| Date: | 2026-03-31 03:55:31 |
| Message-ID: | CAA4eK1K7KaAB_CLVHDPE8UzAYRYPzJwpGMEwcEU=1yzS0SyNyQ@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Tue, Mar 31, 2026 at 6:00 AM Peter Smith <smithpb2250(at)gmail(dot)com> wrote:
>
> Hi Vignesh.
>
> Some review comments for patch v4-0001.
>
> ======
> doc/src/sgml/ref/alter_publication.sgml
>
> 1.
> - [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ *
]
> + TABLE <replaceable class="parameter">table_object</replaceable> [,
... ]
> +
> +<phrase>and <replaceable class="parameter">table_object</replaceable>
> is:</phrase>
> +
> + [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ]
>
> With the introduction of 'table_object' I expected that
> 'table_and_columns' and 'publication_drop_object' would also make use
> of it. Why not?
>
> ======
> doc/src/sgml/ref/create_publication.sgml
>
> 2.
> - [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ *
]
> + TABLE <replaceable class="parameter">table_object</replaceable> [,
... ]
> +
> +<phrase>and <replaceable class="parameter">table_object</replaceable>
> is:</phrase>
> +
> + [ ONLY ] <replaceable class="parameter">table_name</replaceable> [ * ]
>
> With the introduction of 'table_object' I expected that
> 'table_and_columns' would also make use of it. Why not?
>
These sound like worth considering but let's do them as a separate patch,
otherwise, the main patch may take more time.
>
> ======
> src/backend/parser/gram.y
>
> 3.
> @@ -11399,7 +11399,7 @@ pub_obj_list: PublicationObjSpec
> ;
>
> opt_pub_except_clause:
> - EXCEPT TABLE '(' pub_except_obj_list ')' { $$ = $4; }
> + EXCEPT '(' TABLE pub_except_obj_list ')' { $$ = $4; }
> | /*EMPTY*/ { $$ = NIL; }
> ;
>
> @@ -11439,8 +11439,8 @@ PublicationExceptObjSpec:
>
> pub_except_obj_list: PublicationExceptObjSpec
> { $$ = list_make1($1); }
> - | pub_except_obj_list ',' PublicationExceptObjSpec
> - { $$ = lappend($1, $3); }
> + | pub_except_obj_list ',' opt_table PublicationExceptObjSpec
> + { $$ = lappend($1, $4); }
> ;
>
> IMO we should put 'table' in all those table-specific production names:
> e.g. opt_pub_except_clause ==> opt_pub_except_table_clause
> e.g. pub_except_obj_list ==> pub_except_tableobj_list
> e.g. PublicationExceptObjSpec ==> PublicationExceptTableObjSpec
>
> IIUC, in future when "FOR ALL SEQUENCES EXCEPT (SEQUENCES ...)" and/or
> "FOR ALL SCHEMAS EXCEPT (SCHEMA ...)" are implemented then these names
> won't be much good anymore, so I thought they should be made
> table-specific now to avoid churning them later.
I think if/when we need to further extend this feature, we need to go back
to the previous approach of using something akin to the
preprocess_pub_all_objtype_list() kind of function. Consider when we need
to support EXCEPT (TABLES IN SCHEMA s1, TABLE t1) kind of cases, the
current code may or may not be the best way to realize it. So, I think for
now we can leave discussion on this to future extensions of this feature.
--
With Regards,
Amit Kapila.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Masahiko Sawada | 2026-03-31 04:08:52 | Re: Initial COPY of Logical Replication is too slow |
| Previous Message | Hayato Kuroda (Fujitsu) | 2026-03-31 03:54:37 | RE: Skipping schema changes in publication |