From af19ebc4de0906b7b7824fecc6df655a0a5f1691 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Bu=CC=88nemann?= Date: Wed, 16 Jul 2025 23:07:56 +0200 Subject: [PATCH] Allow monitor node binary upgrades with pg_upgrade by skipping extension startup if a binary upgrade is detected. Without this fix pg_upgrade will hang trying to drop in-use databases in the newly created (supposed to be) empty cluster. --- src/monitor/pg_auto_failover.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/monitor/pg_auto_failover.c b/src/monitor/pg_auto_failover.c index c780a8fd4..3646ae3ef 100644 --- a/src/monitor/pg_auto_failover.c +++ b/src/monitor/pg_auto_failover.c @@ -75,6 +75,15 @@ PG_MODULE_MAGIC; void _PG_init(void) { + /* Check PostgreSQL's internal binary upgrade flag */ + extern bool IsBinaryUpgrade; + if (IsBinaryUpgrade) + { + ereport(LOG, + (errmsg("pgautofailover: skipping initialization during binary upgrade"))); + return; + } + if (!process_shared_preload_libraries_in_progress) { ereport(ERROR,