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 1wh93J-000295-2q for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Jul 2026 16:53:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wh93I-001pFr-13 for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Jul 2026 16:53:45 +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 1wh93H-001pFg-2w for pgsql-hackers@lists.postgresql.org; Tue, 07 Jul 2026 16:53:44 +0000 Received: from fhigh-b4-smtp.messagingengine.com ([202.12.124.155]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wh93F-00000000129-1v83 for pgsql-hackers@lists.postgresql.org; Tue, 07 Jul 2026 16:53:43 +0000 Received: from phl-compute-04.internal (phl-compute-04.internal [10.202.2.44]) by mailfhigh.stl.internal (Postfix) with ESMTP id 61C7B7A0152; Tue, 7 Jul 2026 12:53:41 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-04.internal (MEProxy); Tue, 07 Jul 2026 12:53:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kurilemu.de; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :reply-to:subject:subject:to:to; s=fm3; t=1783443221; x= 1783529621; bh=BcgT9ROJWhPMwVnj4EkF1OGBZqo/VLxkh2USFFOjPfo=; b=S lK4S+0iyuizMz8schNs4iqdZBIclw8lrdnHeXNUeSn3PtE/mc4/KNXcRueeMeDeG cWKUfCR6K/dBcrgzfBAMCBKcoWfLToxJVezWMFeiQqr/TO14l0DKUoa6n0dWe4J1 KR2sPNZzvHjwlf+eRiXTed3xxyzE4mr1yZ/ZGX1WQAl5sDzk+KElzaOohdTue6k6 hStsw72nnjMmuNiChK72OcVm5ctl2uVPKfryjvwPPfLGcANXLlbXmaCYqImd4MrR ye8A6GYdr/IbVef0vcC7iLm0cTrOC4rPZyOm/lnLO+BfGZEmmv7Xi4UX0TJe7GE/ dxjasjfOJzK0TFvvbJYXw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm2; t=1783443221; x=1783529621; bh=B cgT9ROJWhPMwVnj4EkF1OGBZqo/VLxkh2USFFOjPfo=; b=oHldV+NWxbjFpF5zw zw6zMFGq6T0CKGHufZvtEnT694CXUiIuSjCHn2n2rIXhrpqKNlMJti8tKkLbOVZT P7LCOLIAo4t6Jek7fLWlTKou82F1+6UM4z6Ah3FwhdpJbjGZeIbZS6KP96RP1QPf Ok2UFAo1q3H/FYBDqUwD3eOTbepbxlctBKLCypRSTvBrg9jZqlAFrocjJWQPqEii CULeMYKeK9ww0p56HBi570WLGkR1aCQnyrPvESFHvU7d7pcdGhBlnoKkeO5wMbe4 cTwZFJ41B/esbIxF+nPB6Yv4AxbC9Jqn8YADhdKdTQlBnxY36ujwSPsR21nx0mQZ B53jg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: dmFkZTGmc8LkFYJgJnUlSRk1mMXrVCstp+Uq0MlZijjZElr/wtU5hK7ol2QJEMuDdoMsEI 1o+EO09FraylXACztN9NGPQGqe0sydWMOAOh/qmqPFaS5SLV38lHehMrvj4CBq/DNwMrHX b4JIrwnyrO3imAlwiV7SiWP36hBIIojuoN19uNZijcm8IXkYpbMyyBn/H4uO/Lkl4jmYE3 XbMLToY0Ge4RW3VJ4UmHvYtjq/k1Lh18Um8azG7Fqg8tbU2y24IVGQPlt1dOI++2Gt+VbO A59o+SbuTr2tsf/5rJTrxn8mFVGp5O8/veu9iDremCTm7xs6vGyJRTXGTo0wugGk3AS6Do DdVJ9F/rCWT4sP0D9uq71AN7s4JGWSI/4pVar7B/6SqWVhhe4Ui57nFlwftBAjOkcMtVpz zEiKxzVak9SNBwx+ObWMdYemuTAYiQQ1dCKkFKOUh4BGGxE07Xwre6NpJ18/XE0dPGftij uezqSTq7lb2+fIaZzbYVWuWX93RWtI/gf5hzHveuiLCduTbsZ3UzeIfnh8aLsE0/5290Um 8b0go5DgNWQXvRT7LuXzE7R3h4hyc55NEO2ejJm92jO/AqPA0DcNu1j1DBP8IZnSitD4gE sHru7ehONKRyKJt4FXaJoGzI14NFaPhb6oOdUXfWbK3OMCc2LBoJs+8mn2RQ X-ME-Proxy: Feedback-ID: ie3de48e3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 7 Jul 2026 12:53:40 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kurilemu.de; s=schmee; t=1783443219; bh=a/pOd9L3jXZ58BMlA5vMNiA6nHgegf76o2tX84G+4+0=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=GdSGJCvIF5eT7qBDyVtlWUyxuOWglJcVeKs+Bqtxr4M5POUduolVcy1HIoFwSK960 OBmTuRrg5b+7lnYPcjulA6RmJtkOWQHMAwxM+hPwQWhWKx9cqt6mus3efFwMEktoUl B8di4Mjbml47KAoPo3mr1RO9KJMcEkmzGlg8fN7F6NOMIUZwl5OyyItZKjwEKZX2h0 CKm3lPo8EbcVRFhXFe3yvj10c/myhvztWWzcoehgtwKd0naFWYAKu461S+Q63H78rp BkAz7I8CGJr8kZcvHNXNBiwzTQ9cg4U/skfjXTLH/Q2t9dVbYO2/g+2SObmQ5UkHix R2BknsSFcrbAA== Received: by ida.kurilemu.internal (Postfix, from userid 1000) id 1CAE9B0067A; Tue, 07 Jul 2026 18:53:39 +0200 (CEST) Date: Tue, 7 Jul 2026 18:53:39 +0200 From: =?utf-8?Q?=C3=81lvaro?= Herrera To: cca5507 Cc: pgsql-hackers Subject: Re: Do not lock tables in get_tables_to_repack Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="op6mnexl7cn72cto" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --op6mnexl7cn72cto Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit On 2026-Jun-16, cca5507 wrote: > Hi hackers, > > When doing a whole database repack, we build a list of repackable > tables and take a lock on them to prevent concurrent drops. But > concurrent drops can always happen after we build the list because > we process each table in a separate transaction. Not only that. We have actually three ways to obtain the list of tables to repack, and only one of these obtains the locks. So this code is internally inconsistent. I agree that we should do something like your patch. I wanted to be a little more defensive though; how about the attached? -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ --op6mnexl7cn72cto Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename=v2-0001-Do-not-lock-tables-in-get_tables_to_repack.patch