| From: | Shlok Kyal <shlok(dot)kyal(dot)oss(at)gmail(dot)com> |
|---|---|
| To: | Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> |
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>, Shubham Khanna <khannashubham1197(at)gmail(dot)com> |
| Subject: | Re: pg_createsubscriber: allow duplicate publication names |
| Date: | 2026-06-01 18:36:04 |
| Message-ID: | CANhcyEXUhVBjAJN4U=6qisLejMRfzbJXAiSW8JK3EMVHoTOV+w@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Mon, 1 Jun 2026 at 18:43, Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com> wrote:
>
> Hi,
>
> While testing “Support existing publications in pg_createsubscriber”, I noticed that it doesn’t allow the same publication name 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 --publication app_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 publication names would always be created. After this feature, it may become an issue, since the feature intends to use existing publications, and users may have defined publications with the same name in different databases. So the current restriction becomes 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 duplicate publication name check.
>
> See the attached patch for details.
>
Hi Chao-san,
I was able to reproduce the scenario and agree with your analysis.
Each --database option is associated with a corresponding
--publication option, and duplicate database names are not allowed.
And also, since publications are database-local objects, there is no
need to reject duplicate publication names.
The proposed changes look good to me.
Thanks,
Shlok Kyal
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Diego Frias | 2026-06-01 18:38:32 | [PATCH] Fix recognizing 0x11A7 as a Hangul T syllable in Unicode normalization |
| Previous Message | Álvaro Herrera | 2026-06-01 18:32:36 | Re: pgsql: Advance restart_lsn more eagerly in LogicalConfirmReceivedLocati |