Avoid invalidating all RelationSyncCache entries on publication rename. On Publication rename, we need to only invalidate the RelationSyncCache entries corresponding to relations that are part of the publication being renamed.
As part of this patch, we introduce a new invalidation message to invalidate the cache maintained by the logical decoding output plugin. We can't use existing relcache invalidation for this purpose, as that would unnecessarily cause relcache invalidations in other backends. This will improve performance by building fewer relation cache entries during logical replication. Author: Hayato Kuroda <kuroda.hay...@fujitsu.com> Author: Shlok Kyal <shlok.kyal....@gmail.com> Reviewed-by: Hou Zhijie <houzj.f...@fujitsu.com> Reviewed-by: Amit Kapila <amit.kapil...@gmail.com> Discussion: https://postgr.es/m/oscpr01mb14966c09aa201effa706576a7f5...@oscpr01mb14966.jpnprd01.prod.outlook.com Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/3abe9dc18892b9f69bb48a2eb21fbe5cf348a489 Modified Files -------------- src/backend/access/rmgrdesc/standbydesc.c | 2 + src/backend/commands/alter.c | 16 ++++ src/backend/commands/publicationcmds.c | 39 +++++++++ src/backend/replication/pgoutput/pgoutput.c | 8 +- src/backend/utils/cache/inval.c | 125 ++++++++++++++++++++++++++++ src/include/commands/publicationcmds.h | 1 + src/include/pg_config_manual.h | 8 +- src/include/storage/sinval.h | 24 ++++-- src/include/utils/inval.h | 10 +++ src/test/subscription/t/007_ddl.pl | 85 +++++++++++++++++++ 10 files changed, 302 insertions(+), 16 deletions(-)