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 1vNRct-002mCK-1k for pgsql-hackers@arkaria.postgresql.org; Mon, 24 Nov 2025 08:08:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vNRcq-00H9w3-2f for pgsql-hackers@arkaria.postgresql.org; Mon, 24 Nov 2025 08:08: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 1vNRcq-00H9vv-1U for pgsql-hackers@lists.postgresql.org; Mon, 24 Nov 2025 08:08:44 +0000 Received: from mail-pf1-x434.google.com ([2607:f8b0:4864:20::434]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vNRcn-001AQz-0l for pgsql-hackers@lists.postgresql.org; Mon, 24 Nov 2025 08:08:43 +0000 Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-7bf0ad0cb87so3801909b3a.2 for ; Mon, 24 Nov 2025 00:08:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763971721; x=1764576521; darn=lists.postgresql.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=GB/mImSMN8B1lp1mMQGGZJnG9zIg7Jjda6TcMW+WG5Y=; b=RNvBiI9+NHmcROhMkLufwLqR4uRnN7l1Uu9/mF3aLoSnf8ExtHQeP7S4t2ughHB1eG uX2+KBDi95vJIl5fNXDRhrPmiqOict0FZA+MjM/0i8tszGYDCKPBJJXURoE6d+HAGiEC lTOZvN9aJ4SHFzE8Iy4cCIXzN4hbhILV7wmkUhfuuXvVuUZSLOnEL+bWQQwO+V/76Gih bhFcfvanyeRkrdFPZePC+hgNWkyJeulh8mY4nnwrH3/qZ8nFSPEkGLScIKFnaXUe3y95 dTMx1T3YaU5elSA6uhma5X5sR6vrznFt8xBj2LWCJrfEu0pk2jXbvQyYCqQlYPtLY4M7 OQ4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763971721; x=1764576521; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=GB/mImSMN8B1lp1mMQGGZJnG9zIg7Jjda6TcMW+WG5Y=; b=dX3ZWqDiAflOp/16aDfa1wacJ14DRY7qYL4BdH8otVo7VQfJKnjlNLlIJoNwEmsyH2 v7VHB9c0vHux+2NpvaF/k9giURR82o6efJS/IbirWtcWYdwBhDFbrGc9ggIElq3AvvEr f9A9j+AqNk+RNVtSv+HwGGkTWRvCJjm1F3aG3Dmtb9l24JEYTg/88UvxJkfb7bMVRVVd VsFmOn1jfkRsuSQca18BkR7QqhzG0XAS8uziW9HzCWlAc/MVAskqhoww/xvXcpvzl6oD 0hWNvBoXScrBEfpD8nezDlMQHzSZqn0f5677fNaOi2tOpFIAfoBrXjc3ovAPBgXmjFlg y6SQ== X-Forwarded-Encrypted: i=1; AJvYcCVzIJ1TgWWbrLThX+sLcdVUsxABtxme0RqIDO3Hyb656p8wUg83v9BFzN0EvIG1PNunsH7JB4De6bm98z1B@lists.postgresql.org X-Gm-Message-State: AOJu0YxBL0qoOi/ytRD5UDanTxT/S0BIwf5iSBeeBsn/7JO+fM/hFxJX XbkTrJ340sQ45LwSJlWfvxrIWo/H7DRR8ol5ZVYD5HqyH0Rse8MkLVAz X-Gm-Gg: ASbGnctQDUE7Gfa3k5Rr0zCnGxy0qL6JLkmQKJgXCF3PtxuYE8rFqGbn8d8h+N3vzti N5gSkWuCBIEWQGNaOX2uoIEgJw/Ogb/oVzu3PGeUJn9D6t6rOS1ohvWjCYTkOxzl+TAzOclQXNI 3OiWpOcRRe3Srfa7Slx88QBXCjq45tM1W69WuByot6qM/DUi/f931EsKOrJ8B436r0o9IK7RUmB g9/kcu8pR47ENjEXcyPzl1gVKh8zVa9nOl0lTmRwJbKJd1go4aL6D3TrGCT2OtqINp9jdkJHr09 KcDN2+87g93szHAGLtkmcIlUHI9mbUiMVpdJlyU9QzBhbBiE0u5/4U9WeDBni//yh7quJyw2+Ax R7yDgU+eOgLcM6r+2mbaqjd15X72/YYrtWNe+ex2nJHjBJkjolHjmn1PcO/P56jfx560eDmAyFi NVOlfEnPSSjf9rWziSGyg= X-Google-Smtp-Source: AGHT+IHcAOzpSbxFVDckXw5tv/KjtGCvJxRVpt/4pHbaeNFGUeh+tnUbnom9nYsYITGknHNezgoatQ== X-Received: by 2002:a05:6a00:a257:b0:7a2:8d06:fa0e with SMTP id d2e1a72fcca58-7c58e412211mr12016190b3a.26.1763971721002; Mon, 24 Nov 2025 00:08:41 -0800 (PST) Received: from smtpclient.apple ([45.32.121.103]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7c3ed892396sm13830663b3a.29.2025.11.24.00.08.37 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 24 Nov 2025 00:08:40 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.700.81\)) Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access) From: Chao Li In-Reply-To: <0AC177F5-5E26-45EE-B273-357C51212AC5@gmail.com> Date: Mon, 24 Nov 2025 16:07:59 +0800 Cc: Kirill Reshke , Andres Freund , Robert Haas , Andrey Borodin , PostgreSQL Hackers , Heikki Linnakangas Content-Transfer-Encoding: quoted-printable Message-Id: <45662821-41F0-4232-87B7-76A3B5E36BE1@gmail.com> References: <2wk7jo4m4qwh5sn33pfgerdjfujebbccsmmlownybddbh6nawl@mdyyqpqzxjek> <0AC177F5-5E26-45EE-B273-357C51212AC5@gmail.com> To: Melanie Plageman X-Mailer: Apple Mail (2.3826.700.81) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > On Nov 21, 2025, at 09:09, Chao Li wrote: >=20 > I=E2=80=99d stop here today, and continue reviewing rest commits in = next week. I continue reviewing today. 0004 This a pure refactoring. It splits heap_page_prune_and_freeze to = multiple small functions. LGTM, no comment. 0005 overall good, a few nit comments as below. 0006, 0007 look good, no comment. 5 - 0005 - heapam.h ``` + /* + * + * vmbuffer is the buffer that must already contain contain the = required + * block of the visibility map if we are to update it. = blk_known_av is the ``` Nit:=20 * an unnecessary empty comment line. * =E2=80=9Ccontain contain=E2=80=9D =3D> =E2=80=9Ccontain"=20 6 - 0005 heapam_xlog.c ``` + * The critical integrity requirement here is that we = must never end + * up with with the visibility map bit set and the = page-level ``` Nit: =E2=80=9Cwith with=E2=80=9D =3D> =E2=80=9Cwith=E2=80=9D I will continue reviewing 0008 and rest tomorrow. Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/