]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Invalidate relcache for publications defined for all tables.
authorAmit Kapila <akapila@postgresql.org>
Wed, 8 Sep 2021 04:28:28 +0000 (09:58 +0530)
committerAmit Kapila <akapila@postgresql.org>
Wed, 8 Sep 2021 06:38:29 +0000 (12:08 +0530)
commit8db27fbc11974ef491fec97be3365277ed4fab20
tree4418ebf3f60c95a70761d79815fa7cd64c2acf58
parentb7fd291042a846b04439f122cb81a41d3cd2e8de
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
src/backend/catalog/dependency.c
src/backend/commands/publicationcmds.c
src/include/commands/publicationcmds.h
src/test/regress/expected/publication.out
src/test/regress/sql/publication.sql