Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vg50R-0080ml-2R for pgsql-pkg-debian@arkaria.postgresql.org; Wed, 14 Jan 2026 17:50:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vg50Q-00Bltn-05 for pgsql-pkg-debian@arkaria.postgresql.org; Wed, 14 Jan 2026 17:50:06 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vg50P-00Bltf-1k for pgsql-pkg-debian@lists.postgresql.org; Wed, 14 Jan 2026 17:50:05 +0000 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vg50M-000QOg-0y for pgsql-pkg-debian@lists.postgresql.org; Wed, 14 Jan 2026 17:50:04 +0000 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-47796a837c7so763925e9.0 for ; Wed, 14 Jan 2026 09:50:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1768413001; x=1769017801; darn=lists.postgresql.org; h=mime-version:user-agent:date:to:from:subject:message-id:from:to:cc :subject:date:message-id:reply-to; bh=3O3pEAmElXOrafn9p/coUgQsH7IVd8A1Bkb3uTqoBnE=; b=WeV+gmdEITsd9IsfFt5U1N/hrhayuvLkc9kFuLh7x3ydaC5cfR4OqPTJEcbC+hxoS/ N4CGzKcJQZ5evWAWqCpptzLY50iR59aGzBhVun1qJPe1FEUvitN/mBwPFESXvygE+7ka ih826GmPDI/8DoDFevyi6OgR7/kN0/ns2YwUmSwvMmtK/xUHFz/Cbn2+Op0MLt7mI1r9 cYFuatPRBPyttwEbOVlXcQVXmgwpm/6WrVtX3DQZaT0im1f9l3QaDgUYRk9tkbgLkf5E s+JD+Y/T1CoeQTPe0O7pndi6iPXTFWXG/nCuIxjeoHJ0NJc6Z+coFIHhGqnaQ6A4AQVn Bcog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1768413001; x=1769017801; h=mime-version:user-agent:date:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=3O3pEAmElXOrafn9p/coUgQsH7IVd8A1Bkb3uTqoBnE=; b=mtKG9Rb0weffIULOvWgEax3LxFPbKJFt2XycD0YxOow4dkyjKBGIDe5kCt3D2+9GKB 1BHITsDpX68CVIvcpZr9hl71opLk6tAIFAtx9vCHoCfGn9SeGlysGw3E8Pwl2jwlKplR kwtFlljfwM+Z5bXi1afZPq8AzSqaRv/5xvs4gpz1m5TIqYbrBSJ6vQ0cBNbM6EbHN8NI ktS0bI8GJU5hQcL3JeUFy/hKzOF8EcbxNa+czBCCtEq4ksx7MwZQs4HnN5o4jg4mBYAS IEEtItnUzOwOmg9nhIr0po1cp2yDA+2N0V6UuMIV2eKBWdD/TzaBYc9VTVp+YitAiIMJ j1/Q== X-Gm-Message-State: AOJu0Yy5PDPlB0uer5DkmOGD6c7hGCGxhjE3LnB9Y/kU/w77olF/nDbu mJlPpkTMkvFHOSstuB/Bt9Uq1WRpEyzgy2cwW49YuhAPqdNQcgocAz+95rYPZpRpjj6uo14Eyz3 vkdsgYIU= X-Gm-Gg: AY/fxX6fOA0DNRQD6Za4rmOEjntMJUS08X2U+0G/ELafTYU374iXCrCUWxkGxMOrdZ6 SbvzzvA046B93d1G9aIQg6RoRG1BQgbRDaEBSIfNigMLEe1vQhHeA3LRYT65Eav6CvZ9NT5IlgW 0XWzN5OF98m+3v9ID72U5n7M8Ia7TwwheHJvq7G0NgAMcIHrnrFLRO2dTWRbi1xQKCcSQHId0WJ byMZJ3eGHjUCIjVyM7gkdoTx9CQGrS9ieESY7N6MeysWlSXQKGjsPzZ/0lUtvLK4U5walyvc/B6 e6+he0H21cnBBBZ+MOzsLs5DiQq6LM6AuE2XWUjEgTssBxmKlBurJaTmzsHJ+0zd4oEl9x6U0SQ FS8O+HO+Z5sASycPRnGMoysUQZYGwyDVZEVWLpXGO3xbxtGG03l2swhwTj4436GQ6nc3ZB/J+ni p2J+awqJzbswwQQuIdQm9205MclEw/725JCmUN370p X-Received: by 2002:a05:600c:4fd6:b0:477:8ba7:fe0a with SMTP id 5b1f17b1804b1-47ee33970f5mr44932935e9.24.1768413001308; Wed, 14 Jan 2026 09:50:01 -0800 (PST) Received: from laurenz.albe-K4N0CV00F97414D ([46.151.204.202]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47f428af0c7sm3119005e9.4.2026.01.14.09.50.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Jan 2026 09:50:00 -0800 (PST) Message-ID: Subject: pg_upgradecluster and synchronous replication From: Laurenz Albe To: pgsql-pkg-debian@lists.postgresql.org Date: Wed, 14 Jan 2026 18:50:00 +0100 Content-Type: multipart/mixed; boundary="=-QuwIKJaG7VK1vfKCjlhC" User-Agent: Evolution 3.58.2 (3.58.2-1.fc43) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-QuwIKJaG7VK1vfKCjlhC Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I ran into a problem today during a training session when I demonstrated pg_upgradecluster -v 18 --method=3Dupgrade --link 17 main The problem was that I had configured synchronous streaming replication fir= st, so after pg_upgrade, the synchronous standby was lost, and when pg_upgradecluster ra= n vacuumdb ... --analyze-in-stages --missing-stats-only processing hung, because the synchronous standby was not available and the = transaction could not commit. Yes, that was my mistake, and yes, the problem was easily fixed by interrup= ting pg_upgradecluster, disabling synchronous_standby_names and running the ANAL= YZE and v17 cluster removal manually. Yet I wonder if pg_upgradecluster could improve things by disabling synchro= nous_standby_names when the cluster ist started for the "finish" stage. I have attached a POC= patch how this could be done. I didn't test it, and my Perl skills are marginal, but you = get the idea. Perhaps this is too much black magic, not sure. But I wanted to share my e= xperience. Yours, Laurenz Albe --=-QuwIKJaG7VK1vfKCjlhC Content-Disposition: attachment; filename="pg_upgradecluster-analyze.patch" Content-Type: text/x-patch; name="pg_upgradecluster-analyze.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3BnX3VwZ3JhZGVjbHVzdGVyIGIvcGdfdXBncmFkZWNsdXN0ZXIKaW5kZXgg MDk5NzljMy4uMTY5OGJhOCAxMDA3NTUKLS0tIGEvcGdfdXBncmFkZWNsdXN0ZXIKKysrIGIvcGdf dXBncmFkZWNsdXN0ZXIKQEAgLTc0Myw3ICs3NDMsNyBAQCBpZiAobm90IGV4aXN0cyAkRU5WeydQ R19DTFVTVEVSX0NPTkZfUk9PVCd9IGFuZCAtZCAnL3J1bi9zeXN0ZW1kL3N5c3RlbScgYW5kICQ+ CiAkc3RhcnQgPSAoJGluZm97cnVubmluZ30gb3IgJHVwZ3JhZGVfc2NyaXB0cykgaWYgKCRzdGFy dCA9PSAtMSk7CiBpZiAoJHN0YXJ0KSB7CiAgICAgcHJpbnQgIlN0YXJ0aW5nIHVwZ3JhZGVkIGNs dXN0ZXIgb24gcG9ydCAkbmV3aW5mb3twb3J0fS4uLlxuIjsKLSAgICBAYXJndiA9ICgncGdfY3Rs Y2x1c3RlcicsICRuZXd2ZXJzaW9uLCAkbmV3Y2x1c3RlciwgJ3N0YXJ0Jyk7CisgICAgQGFyZ3Yg PSAoJ3BnX2N0bGNsdXN0ZXInLCAkbmV3dmVyc2lvbiwgJG5ld2NsdXN0ZXIsICdzdGFydCcsICct LScsICctbycsICJcIi1jc3luY2hyb25vdXNfc3RhbmRieV9uYW1lcz0nJ1wiIik7CiAgICAgZXJy b3IgIkNvdWxkIG5vdCBzdGFydCB1cGdyYWRlZCBjbHVzdGVyOyBwbGVhc2UgY2hlY2sgY29uZmln dXJhdGlvbiBhbmQgbG9nIGZpbGVzIiBpZiBzeXN0ZW0gQGFyZ3Y7CiB9CiAK --=-QuwIKJaG7VK1vfKCjlhC--