On Fri, Mar 27, 2026 at 8:46 AM Hayato Kuroda (Fujitsu) <[email protected]> wrote: > > Dear Sawada-san, > > > When passing a non-existent publication name, the current behavior > > raises an error while the new behavior does nothing (i.e., the > > difference is calling GetPublicationByName() with missing_ok = true or > > false). > > To confirm; It's because in PG18-, p.pubname was chosen from the > pg_publication > in the publisher, but this patch the name list is taken from the subscriber, > right? > If some publications are dropped on the publisher, the ERROR could be raised. > > For the backward compatibility I suggest switching the policy based on the API > version. E.g., > > ``` > static Datum > pg_get_publication_tables(FunctionCallInfo fcinfo, ArrayType *pubnames, > - Oid target_relid) > + Oid target_relid, bool > missing_ok) > ... > @@ -1631,7 +1631,7 @@ Datum > pg_get_publication_tables_a(PG_FUNCTION_ARGS) > { > /* Get the information of the tables in the given publications */ > - return pg_get_publication_tables(fcinfo, PG_GETARG_ARRAYTYPE_P(0), > InvalidOid); > + return pg_get_publication_tables(fcinfo, PG_GETARG_ARRAYTYPE_P(0), > InvalidOid, false); > ``` >
Sounds like a good idea for backward compatibility. -- With Regards, Amit Kapila.
