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.94.2) (envelope-from ) id 1tvvry-009F8G-0H for pgsql-hackers@arkaria.postgresql.org; Sat, 22 Mar 2025 10:14:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1tvvrw-00AQ0Q-7n for pgsql-hackers@arkaria.postgresql.org; Sat, 22 Mar 2025 10:14:20 +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.94.2) (envelope-from ) id 1tvvrv-00APwA-T0 for pgsql-hackers@lists.postgresql.org; Sat, 22 Mar 2025 10:14:19 +0000 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tvvru-000TrV-0S for pgsql-hackers@postgresql.org; Sat, 22 Mar 2025 10:14:18 +0000 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-43cfba466b2so25701175e9.3 for ; Sat, 22 Mar 2025 03:14:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1742638456; x=1743243256; darn=postgresql.org; h=message-id:date:content-id:mime-version:comments:references :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=97paKOdOOH+GjkkwMN1N9g9VDYGZqpLcxXAs8rdjOq8=; b=gHeDw9E87ibGMU0JIcLhkB4GS9VLV/Ua4bvUif2mROmfRsWgTgINED2L5NYaaSh2C7 iXS8sfe11IlXD0o9EhAS0MSBFYw3PYl3iwxAt7/GQizBza84CSbUBKEJiYOkY7o6Ew+P flCzsfAMxs5a93iqgBzLvRQHMnuqWsTeu1d6FwW0r5TA8BX9YqP6oiORJEAVBphddEIA evNdyn/2aFR7/OelwTe4TE1LdxdIPsKnAMvEU/JnlZJtEa5UJ0idrHayNhHolf5zfql0 i+rhaoIHkjMeoGLm7WU6FG7wK0p7l+ofLf/HtjPE2SRgLYJB1tNXlIF7TC5uuuA5fcvj EUoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742638456; x=1743243256; h=message-id:date:content-id:mime-version:comments:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=97paKOdOOH+GjkkwMN1N9g9VDYGZqpLcxXAs8rdjOq8=; b=rqWIo0bP2NmriCEkAgCckGhgkueGD+Y/3T6YgA/nLAojC2UurGLzEVEcWRBgPCpzCN +89/ODR/sJcE6vSc2XuzwIangRs0A2aShA/H5lI6NQEVfuLdWSip91mcfr4Zl22Cd8ts U7dRNU2+fuBn0se40dpwdBBNYtjxhAQUE40csCFt+O3WPKD9EtIffF8rJv/Lmz2xtZ8i W7DZsMZInT1qZ0x8/I9PS75QKNtkHIlNMr7npHtbwGNXsO1nUqlc9cYsY8Zsm2W2wHct dj/2NjVIxV/V2GydMBEE7vQMoQj/2wjthA9GpukqeWe/mb7jy9FexHggRXm3ZSKs9TVV O0Sg== X-Forwarded-Encrypted: i=1; AJvYcCWXE24N6BSK59JTl9mUaM5oqgP1W9L9d0rQT7D5Ro6vb/jO4Jgt7m9gC2hRcntVv3pO9uxuFM34NrQRsLma@postgresql.org X-Gm-Message-State: AOJu0YyVA8URiRCPiUgpArPg/tSTvWLZkeFRjHf7W2ZtMP4V4Q26EqG+ BqPdmpQVo9bntgZKnz7b+LpET13WIRogC8aRIh+o5Y1vTKVh++MBW+1Gg32CiQI= X-Gm-Gg: ASbGncv7MuOtMHy783hCXkQwQvzoJcpYnec33ZjMoauo76R/wOai6V0+gz/bPJlaass unPxhjhZr4iImyvSgxADFjx/gBQCcnLG8K5r1jBrIdj9hexJJT4RSd67Hx6UmOFqIBfBGW8AugO GGPvnWaxS+oqM8Kh2e7ySLq7fF0lmLeOjDXavagUpRkPzXDhBi/GoGheDPUQaIOTNLY48KSbLy4 Y7DiEPr3ksegBCx2ESEVPvjiub5MFdxg+jHD7uFs22g404Ehk/pTa4hsAL5luaypxBUQ1yS0WFe 7Oj6jbr82LbIi2yv8I/ZZFKflnawP1DmpheAOxnv9gfE0sQhr9j99GkqdYe7qXemLf8= X-Google-Smtp-Source: AGHT+IGkUxHChbq1tSg9H6p/ZaK3pfzqSvHj5GcU6+2jYbjNsQ2zGiHgqQfiGD8s+aJ8tSVxDAa4qQ== X-Received: by 2002:a05:6000:154a:b0:390:ffd0:4142 with SMTP id ffacd0b85a97d-3997f911a96mr5647702f8f.26.1742638455867; Sat, 22 Mar 2025 03:14:15 -0700 (PDT) Received: from localhost (109-81-174-36.rct.o2.cz. [109.81.174.36]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3997f9b4cd3sm4877066f8f.57.2025.03.22.03.14.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Mar 2025 03:14:15 -0700 (PDT) From: Antonin Houska To: Alvaro Herrera cc: Marcos Pegoraro , Michael Banck , Junwang Zhao , Kirill Reshke , Pavel Stehule , Michael Paquier , PostgreSQL Hackers Subject: Re: why there is not VACUUM FULL CONCURRENTLY? In-reply-to: <202503201732.xyyic3z35zis@alvherre.pgsql> References: <202503201732.xyyic3z35zis@alvherre.pgsql> Comments: In-reply-to Alvaro Herrera message dated "Thu, 20 Mar 2025 18:32:02 +0100." X-Mailer: MH-E 8.6+git; nmh 1.8; GNU Emacs 28.3 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <9621.1742638454.1@localhost> Date: Sat, 22 Mar 2025 11:14:14 +0100 Message-ID: <9622.1742638454@localhost> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Alvaro Herrera wrote: > I rebased this patch series; here's v09. No substantive changes from v08. > I made sure the tree still compiles after each commit. Thanks. > I did look at 0002 again (and renamed the members of the new struct by > adding a p_ prefix, as well as fixing the references to the old names > that were in a few code comments here and there; I don't think these > changes are "substantive"), and ended up wondering why do we need that > change in the first place. According to the comment where the progress > restore function is called, it's because reorderbuffer.c uses a > subtransaction internally. But I went to look at reorderbuffer.c and > noticed that the subtransaction is only used "when using the SQL > function interface, because that creates a transaction already". So > maybe we should look into making REPACK use reorderbuffer without having > to open a transaction block. Which part of reorderbuffer.c do you mean? ISTM that the use of subransactions is more extensive. At least ReorderBufferImmediateInvalidation() appears to rely on it, which in turn is called by xact_decode(). (I don't claim that saving and restoring the progress state is perfect, but I don't have better idea right now.) -- Antonin Houska Web: https://www.cybertec-postgresql.com