pg_createsubscriber: allow duplicate publication names - Mailing list pgsql-hackers

From Chao Li
Subject pg_createsubscriber: allow duplicate publication names
Date
Msg-id B08A7C89-B3DE-4C1D-A671-32AD8BAB7E22@gmail.com
Whole thread
Responses Re: pg_createsubscriber: allow duplicate publication names
Re: pg_createsubscriber: allow duplicate publication names
List pgsql-hackers
Hi,

While testing “Support existing publications in pg_createsubscriber”, I noticed that it doesn’t allow the same
publicationname even when the publications are from different databases. 

A simple repro:
```
% createdb db1
% createdb db2
% psql db1 -c 'CREATE PUBLICATION app_pub FOR ALL TABLES'
% psql db2 -c 'CREATE PUBLICATION app_pub FOR ALL TABLES'
CREATE PUBLICATION
CREATE PUBLICATION
% pg_createsubscriber --dry-run --pgdata <data-dir> --publisher-server postgres --database db1 --database db2
--publicationapp_pub --publication app_pub 
pg_createsubscriber: error: publication "app_pub" specified more than once for --publication
```

The rejection is not introduced by this feature, but previously it was not a real problem because the specified
publicationnames would always be created. After this feature, it may become an issue, since the feature intends to use
existingpublications, and users may have defined publications with the same name in different databases. So the current
restrictionbecomes a limitation of the new feature. I don’t think we should leave this limitation in PG19. 

Since pg_createsubscriber already ensures that duplicate database names cannot be specified, we can just remove the
duplicatepublication name check. 

See the attached patch for details.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/





Attachment

pgsql-hackers by date:

Previous
From: Atsushi Torikoshi
Date:
Subject: Re: RFC: Allow EXPLAIN to Output Page Fault Information
Next
From: Jakob Egger
Date:
Subject: Re: glob support in extension_control_path/dynamic_library_path?