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 1wLUb4-001obU-34 for pgsql-hackers@arkaria.postgresql.org; Fri, 08 May 2026 23:27:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wLUb3-00Bjt4-2G for pgsql-hackers@arkaria.postgresql.org; Fri, 08 May 2026 23:27:05 +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 1wLUX1-00BQzN-2U for pgsql-hackers@lists.postgresql.org; Fri, 08 May 2026 23:22:55 +0000 Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wLUWz-00000000sj4-0RD5 for pgsql-hackers@lists.postgresql.org; Fri, 08 May 2026 23:22:54 +0000 Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-367c26471f5so330759a91.1 for ; Fri, 08 May 2026 16:22:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1778282573; cv=none; d=google.com; s=arc-20240605; b=kIYOFs5uehbYd2BpP69z8/Ij+uEXfdpPP9PnhVWti8HjV2n6/7sHMSuk8LPuBlgra/ u8uemQUUt7Q/VbLneGcy+GaW6d+Sg7ssWRplzugxMTw864Il5xwn2zeCoiisJ4E6XGSF LrMl+I9PQWrdr9FWUylUp6cdc0mzGn626J8sE0HHNsfO6O5Cw0Q0xXHQ6EhPYJoHxAke K3OqHXUFj30cI4RBPcLFwp8ZOzLQBositpMWb50sYPfbkWWPYm8+nXkEGyhOTgdYpRnc 8VRvMneiWuuePLlhRyMPUt5eaiOrrfeIAsXgXdFj3e9bwVG3t39MrY36I8HeLfWN/eh7 UgBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=+ulpw2pFunHflMrWdraZ2TY5iRQPNJZrR7IIq4WugWQ=; fh=6LerVEDcQDqXXDV/oiMhdSaAiRp/pRI6V8vOXggJpqU=; b=V9M61fB4L/O2/rVx5+mTO7kqzLg/41EUti5brz8lHyXPx1vNlXP/CuyivbHIyccJuO Tn0+gMiNHIZP2OtLGcd8nLsOKu87dqbREyLHoYBfIamk8k2gPobomRYbDkK7wiROyRRS oVwBoteVUCzBLpZqhHamZ6ywI6Dkn2ekV556A9iM+WvX/02vuUL6OaObQnHdosBpV6bi wU8+hVXv5FShLbXkMi8q3aIfDEVg9UzfMpUDH3gjaT6PUiO79e/WOMxl7RhKs8M0M9nr Vy88cIN6ypdfDcFNXWaZupujO1yWbUdrkn6tbBBo4jb/r5zaph4q8zZKQiZKGKKJXUtU IykQ==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778282573; x=1778887373; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=+ulpw2pFunHflMrWdraZ2TY5iRQPNJZrR7IIq4WugWQ=; b=WnjE5ptQ2qF1EkLNplArAlWDcA1EPKFRzEKHowywu6sc+AcWSW9XCS4O2ev19lc7hq UNOcPwued6jwJ1nrp2pMuwrGxHS/mLfginbKXBZaFqeQVaDOVTK4n+8SqttDZGCduURI XSjjTrWzWWFp9RDkvscGvcJ/Owqt/4V4fKzWiRezmWZ2uuQSIFHiYpId1mTgeB/sBtA5 +R0u0HADKnwV4hj70kV2m/5JHRHOsVT8z+EgiL0y3kADXqALUDygifwmqZ/XRIPWBcf3 qeoOVNprgMz6jUFHMBYas+ZF9tunt1YOMn5hecGdMUQGd5oydPEL4EoA2YiAvvku4DA1 qGMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778282573; x=1778887373; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=+ulpw2pFunHflMrWdraZ2TY5iRQPNJZrR7IIq4WugWQ=; b=BZkWum0hpQ66k57W1JyZ+ptzpft2BH9tcPzkUGMl0TFb2pvGeqitqXr0fTRX5bLWxd yAJls2sd6K6byLhF8BktazOiIW4qcu7Yb/57q5sHCvnV0rPypPFFgoBf5zMxf4yQ944J JCA5Dv4la4pTViVhl5TY5wQkhZ7fFO72zZkXWRNfkeKypHcIn6SuLvMQnfWB+yHfp9+d 2Y2ytltuPIfCa+yU92Kp2UGFTxPMSF6PXeVumQp1tnAazEdujTdNTy58Nnz026hEQnYe uQW/mDRTvt6jLonZFmNLVehWtFpBO+dRWOaS+IOgMVzpn2LERCeKbnHDx7C38G0RR9SA fI9w== X-Forwarded-Encrypted: i=1; AFNElJ9mIl2FqWiLaZS4szinw1XGfKZ20QkYzUvBKAGLYR7G9sgYPoJsYcawVYcJ01Ow/A1ocYpVi9jwYGuZ3fsV@lists.postgresql.org X-Gm-Message-State: AOJu0YwNhhDM+EF1dKdUkoyrH0LobsWb1bdgFBSVfBKlPLp8wy0mK0uM LXMzIVkKKUaJL61//l67uSXpCJbRr/SzORo08N6VLgvZAQjbwrydm6vYyB7smEtRvi3CpIttMV5 HpWop4HJgSgHcIvqA00HZlOlMVXLIuT4= X-Gm-Gg: Acq92OHOrohD0O7ZoeSi941BQPbHXJjyercqZMfqetgxVOpxzjBeKm55D4OwwqAZYXu 649ofFomPMdll4n/LuxLtqzFCjSqNAkDQ5ehaniE+uEcwqSRgnVdYx6VEHvidMPIOb+bCG/Ojef IB0vggZaN9FPgpb8rVY/bj8PK2RD8vRaDN0VUlW8bkMYfXUUHNBrOi7Q/HS4fGQybLNVtbVDunJ RewpEqX8K+r9yJLzM69jubvz+itQrwAY5Wl5AabmMFPLWMGM3fSUmzxD4vtS20/l5K3mKW7nZd/ 1yI0XUpsp2GaSFm8IQaWuI/8y7kj73guMpdSfsu1 X-Received: by 2002:a17:90b:38c3:b0:364:a6a4:596e with SMTP id 98e67ed59e1d1-365ac775a97mr15672936a91.24.1778282572659; Fri, 08 May 2026 16:22:52 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Masahiko Sawada Date: Fri, 8 May 2026 16:22:15 -0700 X-Gm-Features: AVHnY4IYBv_xT3FFCfr6WLwk7-4SsZBJ77OimC2nV9E5okCBoDZKuFnk190_-y8 Message-ID: Subject: Re: Adding REPACK [concurrently] To: Alvaro Herrera Cc: Amit Kapila , Antonin Houska , Mihail Nikalayeu , Andres Freund , Srinath Reddy Sadipiralla , Matthias van de Meent , Pg Hackers , Robert Treat Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Fri, May 8, 2026 at 6:58=E2=80=AFAM Alvaro Herrera wrote: > > On 2026-May-08, Amit Kapila wrote: > > > On Wed, May 6, 2026 at 1:55=E2=80=AFPM Antonin Houska = wrote: > > > Some issues/inefficiencies regarding this fix and base code related to > > db-specific snapshots built during decoding: [...] > > Thanks for spending time reviewing this code. I think none of these > problems are fundamental in nature, but they are obviously worth > addressing for 19. If we hit some roadblock, we can still revert only > db-specific snapshots. > I'm still studying REPACK (CONCURRENTLY), and I have a question about db-specific decoder; as far as I read the codes, any decoding plugin can use db-specific decoder by setting need_shared_catalog=3Dfalse but should we prevent such slots from being created on standbys? I'm a bit concerned that plugin developers inadvertently set need_shared_catalog=3Dfalse in the startup callback and users would create such slots on standbys. For instance, if we create a logical slot with pgrepack plugin on the standby, we would get an assertion failure as the db-specific decoder tries to call LogStandbySnapshot() via SnapBuildProcessRunningXacts(). Even if we add !RecoveryInProgress() check there, the db-specific decoder on standbys requires for the primary server to run a REPACK (CONCURRENTLY). Regards, -- Masahiko Sawada Amazon Web Services: https://aws.amazon.com