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 1wDKl1-002rW0-1f for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Apr 2026 11:19:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wDKl0-005Mjc-1m for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Apr 2026 11:19:38 +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 1wDKl0-005MjU-0l for pgsql-hackers@lists.postgresql.org; Thu, 16 Apr 2026 11:19:38 +0000 Received: from mail-lf1-x134.google.com ([2a00:1450:4864:20::134]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wDKkx-00000001Ir9-3mZJ for pgsql-hackers@lists.postgresql.org; Thu, 16 Apr 2026 11:19:37 +0000 Received: by mail-lf1-x134.google.com with SMTP id 2adb3069b0e04-5a4113ab355so440448e87.1 for ; Thu, 16 Apr 2026 04:19:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776338374; cv=none; d=google.com; s=arc-20240605; b=bYffVSd1keQkCZgLyb3o/3fi939xsB1NoZTy506eEQ0gt6a2xTFiBkZidBqHe9H9t6 WpDqU+eHQhB2s76x618hWvCEV+4lie9NEnMl59TczzuK/etdRQ9e5OtPfi5okJnmmOen /C3yVHvGWJ1hFRpnN7Ai9nSlLvNTYnNa+RyXVbyD1PYh90E82x7YvIXr6VKCoJu8hjQs 1UAckmViaEXqW2pzRVmynvCgAB6n2WEnX7kRUslgWzn5szab6R41awsHTKzQ5vCo4YUt UZTFIw6To0RfqfG1gMmIHYdZ9YGRKKHwcenSKHqbAz472H+E8rdQVtE9YjTTQEq0C+Dh JPGw== 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=1nWez008Bok8cvuR5lif24Y4nq0wtvEo8KbIQ/tbPzk=; fh=Fl31Jlv99aNjQWhB+e401V7GTfjRmwSV7t9sAv3v1PQ=; b=VOQXjfg046Uy49PxNkosGP0gJroIxsJu0a+O6cRO3wYIjyMBBCW59/hWjKGMiy+n32 3do5hz+IOVnp7bugCxK2gQdYOXlV2UxiFXWsIMKUIMcpnTycOfFocBv9XvY1FZMJW035 Bv2FD8NwLqNY3eVrH7qtYXPGE+Azay3QmcFQdjFQ4nuZHQbwEE1tSaSkf/mjlVEVWmUW JSDfKCcA45A3LK1fYBNHlohk42nyaDiCjgZqlhNa3GPyWoMKjfemeISkx+19h3X+A6Od gDuLh91gZOmTjAwK0KgyYXfaNBavzEPhkP1O/LMhgxWhKTYxCkMVgmY+5WShtXPuYxFz TLLA==; 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=1776338374; x=1776943174; 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=1nWez008Bok8cvuR5lif24Y4nq0wtvEo8KbIQ/tbPzk=; b=X9nx5AN4Kw9hbnvuiN1WWjYpH8v/7ZNbJvpdy+aYl1FNpkzNOSP1WO1+EiXEtha/Rs urJflk7Sqwer8L6iEPuCxQT3oTlXA8isSC5YcIGgxAg4UkU3K7VcHFhRE5XmdgRN/Er3 vrODltgacOKKFUthhOh0vyf9vD5he5MqalqhT6ZqiyaZyIkYFSbSc/rK75FzPRGpuN1L HUR/cjM6j9UQDhKBI5cbPKCMYJWGS1SCKvlBSSgVRvjAx5Lb3wQnQveleQ7woi9iJR5I D/oDeJuY4g9D86d3uvGwXoxRFMD9s5SK6gIvlWEUATxfRLf8fDqsdNfyRzOmyT+uy6D3 iAUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776338374; x=1776943174; 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=1nWez008Bok8cvuR5lif24Y4nq0wtvEo8KbIQ/tbPzk=; b=dXmSeoG29p79QNr675X2uIG5LN5yvOFHPHr8Y1UzeOdL718iaVR16PSjqFnygSRxVA BGnqvE1DnxDxSpQtn4/yizukzmtiKB3UICWUYxw75Bct9b6B1WJKzONT5iPQP/CgvkIc GCtSEOnKDb9z/nwcUpz0ibuJbxpyD1YmQsEbqDgJ6g9T7nv4k2Vzl52hOZvrzWtTjZZY LjiSM3slYotRUfywuAKnsLOVv6a7/9qVJxOfKWMFL0sxo4FUnyCpT1bPdVlb2ZKx9u6v v/nRmZmmmMCmRsBjzFQh90g+mqqkRqT9Lp9ZR3Uu2HCo0rGfEBZTbdW+s2cdG8doC+MA Sx2A== X-Forwarded-Encrypted: i=1; AFNElJ/8U42t34384YsvSqWh758nc3bofcdVaTGHcYFQIi3+SV5qC5AVCfWwBongXNeLeJSiuTTQJMrNtxiF83PD@lists.postgresql.org X-Gm-Message-State: AOJu0Yw+bgeMxzItX6+6rCnbh8jtIR+vBqIEZ1/li40fg18aeyqsr7FU RT/Lumk7ZqCIhhHNQaRmKyecl9e3k7C0cKUMOoLIdZgPLi0Fc+XrcNj7SYaEkNI4ILwZc0sGOJL amDhWC2rem8+26Ta4CHnUfKgFU3JnVh8= X-Gm-Gg: AeBDieseoGiaFNuaviXPHHJBXiAL3+Fwh8KUDL+PZmHvbwqTGQCgq5Ez/HHy7RGXQ0d qEc1c9AR18n33oOXzdX1kitLW2BWyD2FdU8A/TgQ9nAmrfVvK8bveG7P16InIPBGkInjG2+d0FN 51UFPm80kDWAXmenOw8v1CyuavNRftAKoOZjnj8ONabCwRHd1lAixW8ZjtUt29QoROEEYu5c8r5 IcQRTYza11kFW7uNkhaBjxZ7+qpojPwdWip2/rIPWWrHNO5i7Ap2Mh0O4CEasoMEb4yNqXbE6oR K2GtktmIeatvzfzM8CoASPs8gkt/eZ9o+NhWHZlj7ypB6PXARei33vKokdF1I5b0AoKVGxXd8AJ racs= X-Received: by 2002:a05:6512:2252:b0:5a4:d21:de07 with SMTP id 2adb3069b0e04-5a40d21de29mr1693071e87.1.1776338374156; Thu, 16 Apr 2026 04:19:34 -0700 (PDT) MIME-Version: 1.0 References: <9539.1775724194@localhost> <112208.1776173876@localhost> <25514.1776264611@localhost> <38385.1776277704@localhost> In-Reply-To: <38385.1776277704@localhost> From: Mihail Nikalayeu Date: Thu, 16 Apr 2026 13:18:55 +0200 X-Gm-Features: AQROBzDv4ltUI7QTo6HxMSxHHU-gl4icAWmPO9uDqByIJMH05oo8qll1mR7tOcQ Message-ID: Subject: Re: Adding REPACK [concurrently] To: Antonin Houska Cc: Andres Freund , Amit Kapila , Alvaro Herrera , 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 Hello! On Wed, Apr 15, 2026 at 8:28=E2=80=AFPM Antonin Houska wro= te: > just after step 4, the two session will probably up in a deadlock anyway.= In > other words, even if REPACK does the check early, it does not prevent oth= er > sessions from getting in the way. > > Maybe I'm still missing something. I was trying to solve that by using another approach: the ability to define a "future lock" [0]. It is declared even before taking the actual lock, so, no race is possible. That approach works correctly except one case - ShareUpdateExclusiveLock from another backend, I described it here [1] a little bit. For now, I don't know how to solve it without a performance downgrade. [0]: https://github.com/michail-nikolaev/postgres/commit/ba0f4247dad3d96b82= 82cd18056b7776cd69317c [1]: https://www.postgresql.org/message-id/flat/CADzfLwU8Qw6LXFHO7Tbjc-O7o%= 2BtM26jdnOJBWqYLu61rf7bO%2Bg%40mail.gmail.com#1e96f8882363afb2fc53c2f08346f= 527