From b5c1ecb684f47a474fceb958cca432e3cd6e9d37 Mon Sep 17 00:00:00 2001 From: Murat Tuncer Date: Tue, 8 Nov 2016 16:00:52 -0800 Subject: [PATCH] Fix failures during pg_upgrade - fix error in CitusHasBeenLoaded() - allow creation of pg_catalog tables during upgrade --- src/backend/distributed/shared_library_init.c | 7 +++++++ src/backend/distributed/utils/metadata_cache.c | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/backend/distributed/shared_library_init.c b/src/backend/distributed/shared_library_init.c index 8d8a9b125..7e1ffa904 100644 --- a/src/backend/distributed/shared_library_init.c +++ b/src/backend/distributed/shared_library_init.c @@ -157,6 +157,13 @@ _PG_init(void) /* initialize transaction callbacks */ RegisterRouterExecutorXactCallbacks(); RegisterShardPlacementXactCallbacks(); + + /* enable modification of pg_catalog tables during pg_upgrade */ + if (IsBinaryUpgrade) + { + SetConfigOption("allow_system_table_mods", "true", PGC_POSTMASTER, + PGC_S_OVERRIDE); + } } diff --git a/src/backend/distributed/utils/metadata_cache.c b/src/backend/distributed/utils/metadata_cache.c index 1abf588fd..b48c62fa8 100644 --- a/src/backend/distributed/utils/metadata_cache.c +++ b/src/backend/distributed/utils/metadata_cache.c @@ -642,7 +642,8 @@ CitusHasBeenLoaded(void) } } - extensionLoaded = extensionPresent && extensionScriptExecuted; + /* we disable extension features during pg_upgrade */ + extensionLoaded = extensionPresent && extensionScriptExecuted && !IsBinaryUpgrade; if (extensionLoaded) { @@ -653,6 +654,9 @@ CitusHasBeenLoaded(void) * * Ensure InvalidateDistRelationCacheCallback will notice those changes * by caching pg_dist_partition's oid. + * + * We skip these checks during upgrade since pg_dist_partition is not + * present during early stages of upgrade operation. */ DistPartitionRelationId(); }