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 1w0G3S-001krn-2k for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Mar 2026 09:40:38 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w0G3R-008AyU-0i for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Mar 2026 09:40:37 +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 1w0G3Q-008AyM-2q for pgsql-hackers@lists.postgresql.org; Wed, 11 Mar 2026 09:40:37 +0000 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w0G3P-00000001aVl-2Mnr for pgsql-hackers@postgresql.org; Wed, 11 Mar 2026 09:40:36 +0000 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-6611d20c026so11025518a12.1 for ; Wed, 11 Mar 2026 02:40:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773222034; cv=none; d=google.com; s=arc-20240605; b=Wk05+qIczM2oQJMnOOlyKuPWXoMs8YhZA8jvKJanqk7KG/rUy/qZ2XUFTShrRQjpUv gAmO1L6jbAKDGxSJBKly1ez/GoNN6H+TvGn8xruwnTH5WhxPgale3KMZVqAeuD5aoKGk 8YBcomIToIUmKYCUlfqL8ni3/OeWXmJ6ah2mzQIpoRuWNRYDz1zLR9nO7OcG2BrcrSW+ ifj7FBfhxt+On/aXBvYC/5ocEsRfSCbc8wTesfZ5Q6aTDkLZW8IswXg7G4SZjpvFOOr/ zBU/cSmiFijSb3YMvqeTngJlT+JT9fZlG1C3btqxzild5U/a/NS8Esdon23gz6Bhnuwj cfVQ== 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=+bsiqnoy6m/Z/AENnmTswDC1Ap8TR4iyJV+hzgPZJgg=; fh=2RovTOlbkyafABUrWs3JZPZ1EgXb+a3xhZrDW6aAYPg=; b=CgGG7uh/iLYH3cpGkDC3vNLazcmG62lAspPTaLhm3eLufMSc19IeRpICdat78Ht8WO MP7bvoLJE6JfCA8QOeldGY4mFI5NrpsaCioASQVoi6WR1Iiuu0l6h0qwX/cp89KgjH6Q uyxhC4xwZPg168OCgdnznccecCHsScEW06D3TpgbJNsjM7/uDnDsV6fP7ik65iJCWKI7 rScOdljTCijgmVr/l9k+oInThatbalfX0JW+xXUG2OjFMDSKfLOiyghsIDtHGWZEYhLW n/+mzs0lfwYZPVxkaz6uzLpi46wTV6oQnJ3V7FhKI11uB2LB3vjTqWI95TcdRr3KKdir nUAw==; darn=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=20230601; t=1773222034; x=1773826834; darn=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=+bsiqnoy6m/Z/AENnmTswDC1Ap8TR4iyJV+hzgPZJgg=; b=Cg2GrX+ursBYWd9B7Sn3KI4PmG5Ik/0Fex8MVSlF+2c/GD/32tYg/PLApiS519wg/C 4cYgF0uglIOQtGTs9EMoh3PdRfJFn3/rTwV9wsZUzWBpLsKD7tqxHszoVDKU8LBwrCPg 5OmZOsJhW7S/54gO0KWH32+uJvhL8qpt/MQn2y04oroIBjXA+HdA1WM3z1FjY7y1ClOr d7iUCYe18PpTNa+rHGHBldoU2tlNsvUCvYe98rWZ+w7qNRj4CMY1ngBmriqMtwit6z1E ZexB+Ny7JfX+OkiSAPSdD1q2mqPvn36mMBOU5ZBeTx4hXaAiBUYbJ0jhkU8tdkE8IT7x 8VSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773222034; x=1773826834; 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=+bsiqnoy6m/Z/AENnmTswDC1Ap8TR4iyJV+hzgPZJgg=; b=aiDtDkXQui64fRIs0+ep7K0wwWRw0okzc4/oTuLveSPmpl3mk9HsL+UYu2/fsjYTz8 LbpeGbFXX/QePfkm8sq25nhyv4ZcZQhioda/gkssnOKTojwwnCDIwMwvLena3LX5XxTY LGSY5hAP9eOS6Xn/TGAx6ZEPSVh+L6PnlbKTh64wuSpfdUGPERLM4jL6xALOwMNVtIQx A0BI04Wwbf1+P53rrr67L9EEuxLDC72Bq9sQLjWgOQvpUgrnEiFYZQCXBGDvDnACWJSF k1dNGnNS40vFybAkfZDMtZfwKRbJkADFq9+WVl7e7zjbMIQupGbgEDVklqIXWHhEb5f3 zQ8g== X-Forwarded-Encrypted: i=1; AJvYcCW5P639CnXkcH2VU4QHilVIRA9MzIhS+TnIX6bzIVbgv90DIZZdRV92NtUnj1PP7E198ft6wR6GfccXvfi1@postgresql.org X-Gm-Message-State: AOJu0Yw5+XEWKI0CLvXCgd8lvg2F6ZoEPESOmPSwfKcosyiHgywXwL+l F4voqVSiYzqcRYVGLXm6c8XwwTn5wwPhacfMgP15qtPFGvzW9R8MRvaqQmH+Yv8DNIpamghYa/6 zBAfZXW23tVfDKdxjPspT/ZmWiDKHja8= X-Gm-Gg: ATEYQzxp9B/VZ9+SOrtfVNSLvi7GCsedP74OzV4aGANHqYpuCDzPcWanKcRTiRFgJ6x JTUf+Ck2TzlN1pah7GFs4vAAfr3HlJnsJojcFjwKUWU3Kdm4ZoQu8V3EES5xPNZCVaGsXSA9IXv 8lhk0oAnACM9MSi6mVV3jwxKaeTCBvZXlR+CskZ/bt3wPJB0Kq7O9cTkWDSI9MUQq5D8qo2iga/ Wt2slG3AmmO9Cti/DsZpaRJrt7hmxZeGI7djx5nEpT6Ri39NZ2r3HqYWCgfANSrpxo65nmAvsl4 QhdZrEoG X-Received: by 2002:a05:6402:1e8e:b0:661:7e08:e0e9 with SMTP id 4fb4d7f45d1cf-6631a1f1d6dmr955752a12.17.1773222034030; Wed, 11 Mar 2026 02:40:34 -0700 (PDT) MIME-Version: 1.0 References: <11A59C0C-A8C8-4642-8493-292D5DF8311D@yandex-team.ru> In-Reply-To: From: Madhav Madhusoodanan Date: Wed, 11 Mar 2026 15:10:22 +0530 X-Gm-Features: AaiRm536sqXTBraOhKW7Oav6yKbb1QSLyfvTWQ8byrXys1GIUsuywWm0VUafkMs Message-ID: Subject: Re: [WiP] B-tree page merge during vacuum to reduce index bloat To: Matthias van de Meent Cc: Kirk Wolak , Andrey Borodin , pgsql-hackers , Nikolay Samokhvalov 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 Tue, Mar 10, 2026 at 5:23=E2=80=AFPM Matthias van de Meent wrote: > > They're exclusively for btree code's use; extensions (*) must not add > to (or change the meaning of) those bits, lest they create a forward > incompatibility with core PostgreSQL btree code in newer major > versions; it would cause corrupted binary upgraded databases. > But patches against core btree code can use those bits, because > forward compatibility is less of an issue there - we don't really > support binary upgrades manually patched systems, especially if they > have incompatible on-disk data. Noted, I'm looking at it from the core btree code side of things. I'm unable to see a way where scans or VACUUM calls can recognise transient merge states if we implement merging as an extension. Madhav