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 1wEqrO-004TtY-15 for pgsql-hackers@arkaria.postgresql.org; Mon, 20 Apr 2026 15:48:30 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wEqrM-003fuH-1j for pgsql-hackers@arkaria.postgresql.org; Mon, 20 Apr 2026 15:48:28 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wEqrM-003fu8-0O for pgsql-hackers@lists.postgresql.org; Mon, 20 Apr 2026 15:48:28 +0000 Received: from mail-yx1-xb136.google.com ([2607:f8b0:4864:20::b136]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wEqrJ-000000029c5-2JrS for pgsql-hackers@lists.postgresql.org; Mon, 20 Apr 2026 15:48:27 +0000 Received: by mail-yx1-xb136.google.com with SMTP id 956f58d0204a3-65427236e94so977896d50.1 for ; Mon, 20 Apr 2026 08:48:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1776700102; cv=none; d=google.com; s=arc-20240605; b=ct5UQItwvyWf9DZYkYc7SUkZbFhhWet0cFyzPCkrqU5X5BmZB9JAEfCv9cjOutLMuo 6aiXYAxSu5cc3KmehD0M5UZHUOCsgl7OV1MQ6pYw4SAwWLcK3KXFkkprxYEHVkyB8KRJ Pbs/p4DXHe+5YRP9TrL9s5bdOAQfM+mQ8Ldkk8SaGDP/PcODZ0BOfLjnQDANGvLNH8Uk N7pO8ki/BOXdg5AchQL5kvDnkiC2qLK3AqXJSfp01TiFFQxxecc67y/hDH2ZyqZ9ksKK OE0aZySgCb4B7V2KCqvs9neRpkDxHAdNk7E/3zamhJv3tolD9Dh6TlRGHamj5ccoJdKp HAQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=Rd0J4KjmueIQuBTjrT45AXG5/RfKkrReU406Cgl+N3Q=; fh=KVYN7OnlWnuSWbPqfZOR5ffJiIZ/xl3CXm87gjsTnnI=; b=V0J06aZ+hKJlrpUOiLvn7BlPemZxHEo/Ds/uk2jMR0NKVLh4mKN59qCfyLKJyOidI2 wZXHo/fidbSoDSxkTiE6DAvDXHPiZRwaGL5ZfTWePcA7kSuL3jv3XKNu1Wj7L8+4E9ft VzW/ne3Vi6h1/41PVtaSz/qnFlvp+98s+SNLnXBfAoyq9ZjPYqntvgkNm+ByRa+Znei1 J1PRtKN/acBqM9Dw/m8gQ3Qmogl2X1+TvafFKv3RS0a9TAe8aVwZgjNeMF6jEoM5nqyA 4D5nDgMHzKTm1IiDOx52TKW4YsscvFpS2sClt444pgnDW1gNinhaF7ungYn3kMRcj9KB k0sA==; 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=1776700102; x=1777304902; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Rd0J4KjmueIQuBTjrT45AXG5/RfKkrReU406Cgl+N3Q=; b=ZamYTTwss0saSOIx8qKxSepVKlsjyCvpU1K6nR/0RU5QyFKOkaeC3SSEu4et05MTw4 P9BtoVGC4mvrJq0+ohxgQlGtOc3LsNp0DtrrRdKGceaS34lb1WhivpTM4R+EAKLAFd6t kTlmsUubK+7sLsgaAISo/jUutCEsGlaBucgLJpugtR+KiMLiL2/heSorCGUGBnM9zaHY 4pGDlO2qGqrxWr+C7hv0xWH9mB+zl9V2qRKbjYskTtnDIwFKLXEF1i6vtstM1Brb1bPd 9U0w+pYxUQZ9A4QP6Y6RatKNnrAOLJe9KZQ6F1vi4dDjh24l+oTZ4UFXw3DlhN6Zmf6A TNvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776700102; x=1777304902; h=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=Rd0J4KjmueIQuBTjrT45AXG5/RfKkrReU406Cgl+N3Q=; b=fns7//1bIw/gob124KBTjFQqU/7/WEi+a5SZfjDZVBZN9vPzeW3iBKvRSzzwA+/HIt c2L5aZljVHzLW5yJROhaZkdSD4awVuQc0KTZ08ix9WPvSvKLeQfBwuZjJhwJcL92V3be 0Z3ldw9qXVAmzHe1VYNX/mqCJ0ClFvBHyudqSEe6E9zfqrUyv3NwqOKeNMofmdoxSEE+ paonZITX87ggnK7SqdRZqJYLqzRwYX4BrDnGtlmlkcTgA+wYUqO2cXvWWdNKe5wiiZ+i pLoYFtExvf7rsP3M9IIdhi8ZK7SbpD7MI3O77AS8ofjwZpdAZl9zohJTJdJ4K1TGLVEg TNsA== X-Forwarded-Encrypted: i=1; AFNElJ9GdNmmFdUP64roI6H/ZHvLMC2MLbKtyej99EnLyKpw7by1kOxVbFoKP1LORGqBozemvglw7NHtzQtz+ecX@lists.postgresql.org X-Gm-Message-State: AOJu0Yyzonc5/YKt4UZPQ7iOwM/XDB8dEB9kukDGwxjK6j5Ot++YVkaq Gn/QpK+mw8GMdYOi8hFEvvR5ihQ2Je2ILTyBhZD2+ZXI0iJpDMU7mH0g6hUq2pi5IF9a5Vb+DYl 4bb9WXilw2Un5ox163NZwId+PLVBvGFg= X-Gm-Gg: AeBDieuNflKPCjaMllVwP60oS4dQOmXn1Ya49OcB2lsvcp4kOxiXv647IT1DrRKYu3p eXLxpEcDR4XA0JvqzNRvg4l1cLG9GBgLfDVb8JoXeg93lneWTvHPi+Cy0V8vYJPqFPwfB4yz5o/ 6Lg6CWDDVI0D/isJP8YHW4ByhYBfvKdba4GVPSOFq678IKBWekObuch3tYVcuEvy9iylnPlZkZF O2KrSVEd5ru0GdltLGFBQ+9hjlRB9q7i/p9IUPwrFhmq96q9KPyZex7m/Gfb7LhugTbk7LTWdEh KO0bZH5LWvsEhXAk+eLiJznYLa20/6qaonJA5Kx3p5QNnKm5e76AhgEhxX8PFIsqMFRVsaBA0jH lDhLJxvUUzN4H3jNkD0Q= X-Received: by 2002:a05:690e:4396:b0:650:5ef1:6805 with SMTP id 956f58d0204a3-65310acec22mr9154653d50.60.1776700102168; Mon, 20 Apr 2026 08:48:22 -0700 (PDT) MIME-Version: 1.0 References: <97529f5a-ec10-46b1-ab50-4653126c6889@gmail.com> In-Reply-To: From: Melanie Plageman Date: Mon, 20 Apr 2026 11:48:09 -0400 X-Gm-Features: AQROBzDXI7YxQZXMgHvKIz8QJ3_tqdcxhMj_ijCGVPzZ8WTavkoeV6o2hvtoTUg Message-ID: Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access) To: Andres Freund Cc: Alexander Lakhin , Tomas Vondra , David Rowley , Kirill Reshke , Chao Li , Andrey Borodin , Xuneng Zhou , Robert Haas , PostgreSQL Hackers , Heikki Linnakangas Content-Type: multipart/mixed; boundary="000000000000769e8b064fe63a10" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000769e8b064fe63a10 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Apr 18, 2026 at 12:33=E2=80=AFPM Andres Freund = wrote: > > I guess I could see an argument for doing something more complicated for = temp > buffers than num_temp_buffers / 4, e.g. > Min(1, (num_temp_buffers - NLocalPinnedBuffers) / 4) > so that we get more conservative the more scans are concurrently in progr= ess. > > But I'd not go there right now, that seems like a more complicated projec= t > (and we'd presumably want to do something roughly similar for the s_b cas= e). With shared buffers, while it is true you'd ideally leave the backend headroom for other read streams etc, it won't error out the way the temp table case does unless we've actually pinned all shared buffers. It will simply slow down the read ahead of the competing read streams. Attached is what I'm thinking of committing. - Melanie --000000000000769e8b064fe63a10 Content-Type: text/x-patch; charset="UTF-8"; name="Make-local-buffers-pin-limit-more-conservative.patch" Content-Disposition: attachment; filename="Make-local-buffers-pin-limit-more-conservative.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mo7dcspf0 RnJvbSA3NTE3YTQ5OGNiMWNiYjIzZjYwMTg5MDE5YjNhNDZiMjdkYjM1ZjcyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNZWxhbmllIFBsYWdlbWFuIDxtZWxhbmllcGxhZ2VtYW5AZ21h aWwuY29tPgpEYXRlOiBNb24sIDIwIEFwciAyMDI2IDExOjE0OjMxIC0wNDAwClN1YmplY3Q6IFtQ QVRDSF0gTWFrZSBsb2NhbCBidWZmZXJzIHBpbiBsaW1pdCBtb3JlIGNvbnNlcnZhdGl2ZQpNSU1F LVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29u dGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKR2V0TG9jYWxQaW5MaW1pdCgpIGFuZCBHZXRB ZGRpdGlvbmFsTG9jYWxQaW5MaW1pdCgpLCBjdXJyZW50bHkgaW4gdXNlCm9ubHkgYnkgdGhlIHJl YWQgc3RyZWFtLCBwcmV2aW91c2x5IGFsbG93ZWQgYSBiYWNrZW5kIHRvIHBpbiBhbGwKbnVtX3Rl bXBfYnVmZmVycyBsb2NhbCBidWZmZXJzLiBUaGlzIG1lYW50IHRoYXQgdGhlIHJlYWQgc3RyZWFt IGNvdWxkCnVzZSBldmVyeSBhdmFpbGFibGUgbG9jYWwgYnVmZmVyIGZvciByZWFkLWFoZWFkLCBs ZWF2aW5nIG5vbmUgZm9yIG90aGVyCmNvbmN1cnJlbnQgcGluLWhvbGRlcnMgbGlrZSBvdGhlciBy ZWFkIHN0cmVhbXMgYW5kIHJlbGF0ZWQgYnVmZmVycyBsaWtlCnRoZSB2aXNpYmlsaXR5IG1hcCBi dWZmZXIgbmVlZGVkIGR1cmluZyBvbi1hY2Nlc3MgcHJ1bmluZy4KCkNhcCB0aGUgbG9jYWwgcGlu IGxpbWl0IHRvIG51bV90ZW1wX2J1ZmZlcnMgLyA0LCBwcm92aWRpbmcgc29tZQpoZWFkcm9vbS4g VGhpcyBkb2Vzbid0IGd1YXJhbnRlZSB0aGF0IGFsbCBuZWVkZWQgcGlucyB3aWxsIGJlIGF2YWls YWJsZQrigJQgZm9yIGV4YW1wbGUsIGEgYmFja2VuZCBjYW4gc3RpbGwgb3BlbiBtb3JlIGN1cnNv cnMgdGhhbiB0aGVyZSBhcmUKYnVmZmVycyDigJQgYnV0IGl0IG1ha2VzIGl0IGxlc3MgbGlrZWx5 IHRoYXQgcmVhZC1haGVhZCB3aWxsIGV4aGF1c3QgdGhlCnBvb2wuCgpOb3RlIHRoYXQgdGhlc2Ug ZnVuY3Rpb25zIGFyZSBub3QgbGltaXRlZCBieSBkZWZpbml0aW9uIHRvIHVzZSBpbiB0aGUKcmVh ZCBzdHJlYW07IGhvd2V2ZXIsIHRoaXMgY2FwIHNob3VsZCBiZSBhcHByb3ByaWF0ZSBpbiBvdGhl ciBjb250ZXh0cy4KCkF1dGhvcjogTWVsYW5pZSBQbGFnZW1hbiA8bWVsYW5pZXBsYWdlbWFuQGdt YWlsLmNvbT4KUmVwb3J0ZWQtYnk6IEFsZXhhbmRlciBMYWtoaW4gPGV4Y2x1c2lvbkBnbWFpbC5j b20+ClJldmlld2VkLWJ5OiBBbmRyZXMgRnJldW5kIDxhbmRyZXNAYW5hcmF6ZWwuZGU+CkRpc2N1 c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vOTc1MjlmNWEtZWMxMC00NmIxLWFiNTAtNDY1MzEy NmM2ODg5JTQwZ21haWwuY29tCi0tLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZmZXIvbG9jYWxi dWYuYyB8IDE1ICsrKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9idWZm ZXIvbG9jYWxidWYuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2xvY2FsYnVmLmMKaW5k ZXggMzk2ZGE4NGIyNWMuLjI0ZWY5NWVjYjEwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9y YWdlL2J1ZmZlci9sb2NhbGJ1Zi5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvYnVmZmVyL2xv Y2FsYnVmLmMKQEAgLTMwNywxNiArMzA3LDI1IEBAIEdldExvY2FsVmljdGltQnVmZmVyKHZvaWQp CiB1aW50MzIKIEdldExvY2FsUGluTGltaXQodm9pZCkKIHsKLQkvKiBFdmVyeSBiYWNrZW5kIGhh cyBpdHMgb3duIHRlbXBvcmFyeSBidWZmZXJzLCBhbmQgY2FuIHBpbiB0aGVtIGFsbC4gKi8KLQly ZXR1cm4gbnVtX3RlbXBfYnVmZmVyczsKKwkvKgorCSAqIEV2ZXJ5IGJhY2tlbmQgaGFzIGl0cyBv d24gdGVtcG9yYXJ5IGJ1ZmZlcnMsIGJ1dCB3ZSBsZWF2ZSBoZWFkcm9vbSB0bworCSAqIGF2b2lk IHJ1bm5pbmcgb3V0IG9mIHBpbnMgZm9yIGRpc2NyZXRpb25hcnkgZGVtYW5kLCBzdWNoIGFzIGZv cgorCSAqIHJlYWQtYWhlYWQuCisJICovCisJcmV0dXJuIG51bV90ZW1wX2J1ZmZlcnMgLyA0Owog fQogCiAvKiBzZWUgR2V0QWRkaXRpb25hbFBpbkxpbWl0KCkgKi8KIHVpbnQzMgogR2V0QWRkaXRp b25hbExvY2FsUGluTGltaXQodm9pZCkKIHsKKwl1aW50MzIJCXRvdGFsID0gR2V0TG9jYWxQaW5M aW1pdCgpOworCiAJQXNzZXJ0KE5Mb2NhbFBpbm5lZEJ1ZmZlcnMgPD0gbnVtX3RlbXBfYnVmZmVy cyk7Ci0JcmV0dXJuIG51bV90ZW1wX2J1ZmZlcnMgLSBOTG9jYWxQaW5uZWRCdWZmZXJzOworCisJ aWYgKE5Mb2NhbFBpbm5lZEJ1ZmZlcnMgPj0gdG90YWwpCisJCXJldHVybiAwOworCXJldHVybiB0 b3RhbCAtIE5Mb2NhbFBpbm5lZEJ1ZmZlcnM7CiB9CiAKIC8qIHNlZSBMaW1pdEFkZGl0aW9uYWxQ aW5zKCkgKi8KLS0gCjIuNDMuMAoK --000000000000769e8b064fe63a10--