pgsql: Fix issue with EVENT TRIGGERS and ALTER PUBLICATION

From: David Rowley <drowley(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix issue with EVENT TRIGGERS and ALTER PUBLICATION
Date: 2026-01-06 04:31:37
Message-ID: E1vcyjI-004mHW-0d@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix issue with EVENT TRIGGERS and ALTER PUBLICATION

When processing the "publish" options of an ALTER PUBLICATION command,
we call SplitIdentifierString() to split the options into a List of
strings. Since SplitIdentifierString() modifies the delimiter
character and puts NULs in their place, this would overwrite the memory
of the AlterPublicationStmt. Later in AlterPublicationOptions(), the
modified AlterPublicationStmt is copied for event triggers, which would
result in the event trigger only seeing the first "publish" option
rather than all options that were specified in the command.

To fix this, make a copy of the string before passing to
SplitIdentifierString().

Here we also adjust a similar case in the pgoutput plugin. There's no
known issues caused by SplitIdentifierString() here, so this is being
done out of paranoia.

Thanks to Henson Choi for putting together an example case showing the
ALTER PUBLICATION issue.

Author: sunil s <sunilfeb26(at)gmail(dot)com>
Reviewed-by: Henson Choi <assam258(at)gmail(dot)com>
Reviewed-by: zengman <zengman(at)halodbtech(dot)com>
Backpatch-through: 14

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/ae45c72960d0db19f60339876a771c5410507f13

Modified Files
--------------
src/backend/commands/publicationcmds.c | 7 ++++++-
src/backend/replication/pgoutput/pgoutput.c | 6 +++++-
2 files changed, 11 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2026-01-06 05:11:17 pgsql: Update comments atop ReplicationSlotCreate.
Previous Message David Rowley 2026-01-06 04:31:13 pgsql: Fix issue with EVENT TRIGGERS and ALTER PUBLICATION