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 1ws6HH-000OJ7-2Q for pgsql-bugs@arkaria.postgresql.org; Thu, 06 Aug 2026 22:09:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1ws6HH-006Yzw-11 for pgsql-bugs@arkaria.postgresql.org; Thu, 06 Aug 2026 22:09:26 +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 1ws6HH-006Yzn-04 for pgsql-bugs@lists.postgresql.org; Thu, 06 Aug 2026 22:09:26 +0000 Received: from sss.pgh.pa.us ([68.162.161.243]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1ws6HE-00000000eeq-0wc3 for pgsql-bugs@lists.postgresql.org; Thu, 06 Aug 2026 22:09:26 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.18.1/8.18.1) with ESMTP id 676M9HEm1460712; Thu, 6 Aug 2026 18:09:17 -0400 From: Tom Lane To: Tomas Vondra cc: Bram van der Vos , pgsql-bugs@lists.postgresql.org Subject: Re: file corruption goes undetected In-reply-to: <9abdddef-4c08-4d47-8879-9265e164dacb@vondra.me> References: <943a83bf-78d1-4231-a9de-c24740e09d7a@axisinto.nl> <9abdddef-4c08-4d47-8879-9265e164dacb@vondra.me> Comments: In-reply-to Tomas Vondra message dated "Fri, 07 Aug 2026 00:01:33 +0200" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <1460710.1786054157.1@sss.pgh.pa.us> Date: Thu, 06 Aug 2026 18:09:17 -0400 Message-ID: <1460711.1786054157@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Tomas Vondra writes: > This is expected behavior, not a bug. It'd be great to detect these > kinds of data corruption, but data checksums can't do that (and we don't > have other protections). I suspect what's really happening in this example is that the query result is produced entirely from pages in shared buffers, so we don't notice that the underlying disk files have been clobbered. We would notice once we have occasion to actually read the junk data. regards, tom lane