pgsql: Invalidate relcache for publications defined for all tables.

From: Amit Kapila <akapila(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Invalidate relcache for publications defined for all tables.
Date: 2021-09-08 06:50:04
Message-ID: E1mNrPI-0004pj-Hf@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Invalidate relcache for publications defined for all tables.

Updates/Deletes on a relation were allowed even without replica identity
after we define the publication for all tables. This would later lead to
an error on subscribers. The reason was that for such publications we were
not invalidating the relcache and the publication information for
relations was not getting rebuilt. Similarly, we were not invalidating the
relcache after dropping of such publications which will prohibit
Updates/Deletes without replica identity even without any publication.

Author: Vignesh C and Hou Zhijie
Reviewed-by: Hou Zhijie, Kyotaro Horiguchi, Amit Kapila
Backpatch-through: 10, where it was introduced
Discussion: https://postgr.es/m/CALDaNm0pF6zeWqCA8TCe2sDuwFAy8fCqba=nHampCKag-qLixg@mail.gmail.com

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8db27fbc11974ef491fec97be3365277ed4fab20

Modified Files
--------------
src/backend/catalog/dependency.c | 5 ++++-
src/backend/commands/publicationcmds.c | 34 +++++++++++++++++++++++++++++++
src/include/commands/publicationcmds.h | 1 +
src/test/regress/expected/publication.out | 15 ++++++++++++++
src/test/regress/sql/publication.sql | 14 +++++++++++++
5 files changed, 68 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2021-09-08 06:57:45 pgsql: Fix incorrect format placeholders
Previous Message Michael Paquier 2021-09-08 05:23:17 pgsql: Fix compilation warning in ipci.c