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 1wi1ga-000XgC-2W for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Jul 2026 03:13:57 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wi1gZ-00FaWq-0d for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Jul 2026 03:13:55 +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 1wi1gY-00FaWh-2q for pgsql-hackers@lists.postgresql.org; Fri, 10 Jul 2026 03:13:55 +0000 Received: from mail-oi1-x229.google.com ([2607:f8b0:4864:20::229]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wi1gW-00000000aMa-2PwY for pgsql-hackers@lists.postgresql.org; Fri, 10 Jul 2026 03:13:55 +0000 Received: by mail-oi1-x229.google.com with SMTP id 5614622812f47-495c63c4141so282318b6e.2 for ; Thu, 09 Jul 2026 20:13:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1783653230; cv=none; d=google.com; s=arc-20260327; b=B7J2vvmHaLk6uT7g5p7Os9i1pp/vSqqUS/TCvrM2YA8v6JMk6llnQC4Ja5jX98Lvk/ bywCxt8pC4xoDYtoydJfwjIz29P3IZLMXJRipzDFdNe/84KjlmmrKM+Li4ui8YzhkdTf tg5mm6uoVLvshhBS3cLG8B4X7gwlYbv9w+DTm9i9mbehaRAix6AbHzn7UpYKRgX5S0Ob U33evo+o0VJyt0qPz2+/68Ruhp2yBHh4tMc0JxEOS+jqfKIk9WllRGb76eqhGFhGyDSk gacSxNPe5jp85UlxTOoc8F+Kp2QWVF0Yzr9MuTvY4Gsu4+y86LFvaEe23JQlXFeVV0K8 jaPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=SshAyyROPfF8uevSUt611Cnyww+kVkofoFfUM8oFIYM=; fh=dxJXJbLzq9Nah1LUdsj4QTuQ3JoDScd0wp1YHY64NXM=; b=hyIErHnGyduUXS9AFw/Ip93EgJ9DtP+e3yt3BVafQf3Sa0AIQmS9K5tAbXtInxqHiE dbDbkhfBRvroM2Lyx3vwc1M/yr9Ed4TA7v9rJe4080zboFHDNmO55svrc4876iXjGb/C uW2eRdvI9oFlCQ6HCCBigio96vJQv/6TljlrzWKNAj8Y2gplQqKI5rPKlcLj+4TFXnwD ifyUtJ5/vIfAQTTxc/UZ8KcGQiGVJ1B8l/bctR2Mt9+muhhgCN9Xq4PQnpwRdDwr2R4W dYosXI0tuD83Sg2z/2X6n1C/wteg6Ot5lkgKrrbiKF/FDgvglwfwZNPld367YCNyOo3/ CzoA==; 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=1783653230; x=1784258030; darn=lists.postgresql.org; h=content-type:to:subject:message-id:date:from:mime-version:from:to :cc:subject:date:message-id:reply-to:content-type; bh=SshAyyROPfF8uevSUt611Cnyww+kVkofoFfUM8oFIYM=; b=SqFKrQH6nGwPKcV6e3fFfVzfbOPePaynXTuQ15qAMqFANSPeMYAAL5C8NcI/wEWcvP cK9g+T7fjJwubEgVsUrf2y7wXE4YmxZckMHcjc6OmqomWct0zJJO3KjXpj8aKIioVauc Cs8slyW1MCSdSbiN+ifz2ryj01Yff1046RhsEBn5D4RIgmkWi+Huf8SESDpJP+jb8RiS BgvQT9WZwqu5QLVzvJpT1f8l+YlBR0rpQE1WYd6Y0FsUNIe85RYRIId8ks9ObiADGCOa 6Tyx3UOh4m0qCvYmnXF9a4WlJ1T8Qz8U1X2HhMTt5hJ1PfM0GDR00TNsu1lGGbL2NVjz ygWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783653230; x=1784258030; h=content-type:to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=SshAyyROPfF8uevSUt611Cnyww+kVkofoFfUM8oFIYM=; b=aq736EEkqrzK/KSq2mmhUqqORjXyDZOTbOeVv73Nh0CJdi7xVZGYRRa/ABCurBwjRL Hi74LQhLF8j8rlzCRsP38WhjPEFdG/+gS16F+DN5IFhAbcfpHcZUj4bAnOHbRPyePZ2Y YjLzAr+OuUOBp1xxkI/2qP7NBAKtpra7phaLVhCdVEt3Ys/fOAyp4HClgByxEJNvLpC+ jPlm2evqQIjSCIrhPs/k8xU0TVWMRSrm7PnHayVGS8Bgq2O0b9Isgcgzr8t6ouM17lw6 eU1mEarC2/ref1LQTwHpaFaWxgR7pQt6T/r6+yfHGlcVcMqULj3g4alK+EaTchS/M/Uc nA9g== X-Gm-Message-State: AOJu0YybsMo6DTZh7/1QGMTApouDhSprojyQ2G3Lr+BJFhhONKew0VCE hwmww7cTMWL3et+Ak+3VW4oLQfmn4Tz59d0F1MG366xl/HLemzAyfCd2i4s/qO1KVXvX0VRu/UI bm44/x6UVs3Bw6+y7orDtUK2Vxld+Hxcl5EBRJ00= X-Gm-Gg: AfdE7cmEhOLqjefnmTcKtA8Ut/yDgA/m44dl4VmlxcBAm+zIVjAaY7qWkogwqo6j4UK WxFKfO6WOjm7yXZX+f2bT8myf3bKu9+dOgobE53CXL1K+qw3qLaX11kiVnnQIhKuSiMhM1Y34BY S9+pSVQdeIgjncvHZR26cN8O+KpTy3IQq5Y68WavepqZ73A8XvlSvOdB0jZHhKdmk4j/PcyPGPm NOQvPGqxhjrq99qRLXlnOMKr+zsn4p+Q7HIy/5DdSUCG8H+TSDn/pKZv9seydmP0Mo6NvrfWV04 sqhaSNd6bczv2aZeYb7P2GAnkB6ZrvNs+eoH3jW+5e9d6x13DKlgv9RdET5M6wnXutV02/6Me0W gSJAPq7zjHkXu X-Received: by 2002:a05:6808:13cf:b0:490:70b:9d72 with SMTP id 5614622812f47-4a20550fc33mr7046776b6e.23.1783653230343; Thu, 09 Jul 2026 20:13:50 -0700 (PDT) MIME-Version: 1.0 From: Fujii Masao Date: Fri, 10 Jul 2026 12:13:37 +0900 X-Gm-Features: AUfX_myPrPGFRAzTDI5owfwTkxXE-_ISY5w66JJO-Q5JIo2PmzJsoS2mRn8fgwE Message-ID: Subject: Restrict data checksums entries in pg_stat_io To: PostgreSQL Hackers Content-Type: multipart/mixed; boundary="00000000000032c18a065639212f" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000032c18a065639212f Content-Type: text/plain; charset="UTF-8" Hi, While reviewing the data checksums docs at [1], I found that the data checksums launcher and workers are exposed in pg_stat_io with the same broad set of object/context combinations as general background workers. However, several of those entries can never accumulate I/O statistics. For example, as far as I understand correctly, the launcher never processes relations itself, and the workers neither operate on temporary relations nor use the bulkread or bulkwrite contexts. So I think it would be better to restrict the reported entries to those that the data checksums processes can actually use. The attached patch teaches pgstat_tracks_io_object() and pgstat_tracks_io_op() about the actual I/O paths used by these processes. After the patch, pg_stat_io includes only: - data checksums launcher: relation/normal, wal/init, wal/normal - data checksums worker: relation/normal, relation/vacuum, wal/init, wal/normal The patch also excludes WAL reads for both processes, since they emit WAL records but never read WAL. Thoughts? Regards, [1] https://postgr.es/m/CAHGQGwFsBjQs2fv7b72hxzGV_fJMh6LAg4E83pNfDOu1jVgWCA@mail.gmail.com -- Fujii Masao --00000000000032c18a065639212f Content-Type: application/octet-stream; name="v1-0001-Restrict-pg_stat_io-entries-for-data-checksum-pro.patch" Content-Disposition: attachment; filename="v1-0001-Restrict-pg_stat_io-entries-for-data-checksum-pro.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mred2kcg0 RnJvbSAxMDNhNTQ4ODJjNDAzMDQ5NThiNGEzNjBlMGFjMDdmNmI3MGI4ZmUxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGdWppaSBNYXNhbyA8ZnVqaWlAcG9zdGdyZXNxbC5vcmc+CkRh dGU6IEZyaSwgMTAgSnVsIDIwMjYgMTA6NTQ6NDYgKzA5MDAKU3ViamVjdDogW1BBVENIIHYxXSBS ZXN0cmljdCBwZ19zdGF0X2lvIGVudHJpZXMgZm9yIGRhdGEgY2hlY2tzdW0gcHJvY2Vzc2VzCgpU aGUgZGF0YSBjaGVja3N1bXMgbGF1bmNoZXIgYW5kIHdvcmtlcnMgd2VyZSBleHBvc2VkIGluIHBn X3N0YXRfaW8Kd2l0aCB0aGUgc2FtZSBicm9hZCBzZXQgb2Ygb2JqZWN0L2NvbnRleHQgY29tYmlu YXRpb25zIGFzIGdlbmVyYWwKYmFja2dyb3VuZCB3b3JrZXJzLiBIb3dldmVyLCBtYW55IG9mIHRo b3NlIGVudHJpZXMgY2FuIG5ldmVyIGFjY3VtdWxhdGUKSS9PIHN0YXRpc3RpY3MgZm9yIHRoZXNl IHByb2Nlc3Nlcywgc3VjaCBhcyBidWxrcmVhZCwgYnVsa3dyaXRlLApyZWxhdGlvbiBpbml0LCBh bmQgdGVtcG9yYXJ5IHJlbGF0aW9uIGVudHJpZXMuCgpUZWFjaCBwZ3N0YXRfdHJhY2tzX2lvX29i amVjdCgpIGFuZCBwZ3N0YXRfdHJhY2tzX2lvX29wKCkgYWJvdXQgdGhlCmFjdHVhbCBJL08gcGVy Zm9ybWVkIGJ5IHRoZSBkYXRhIGNoZWNrc3VtIHByb2Nlc3Nlcy4gS2VlcCB0aGUgZW50cmllcwpu ZWVkZWQgZm9yIGNhdGFsb2cgc2NhbnMsIHdvcmtlciByZWxhdGlvbiBwcm9jZXNzaW5nIHdpdGgg YSB2YWN1dW0KYWNjZXNzIHN0cmF0ZWd5LCBhbmQgV0FMIHdyaXRlcyBhbmQgaW5pdGlhbGl6YXRp b24sIHdoaWxlIGV4Y2x1ZGluZyBXQUwKcmVhZHMgYW5kIG90aGVyIG9iamVjdC9jb250ZXh0IGNv bWJpbmF0aW9ucyB0aGF0IGNhbiBuZXZlciBiZSB1c2VkLgotLS0KIHNyYy9iYWNrZW5kL3V0aWxz L2FjdGl2aXR5L3Bnc3RhdF9pby5jIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNy Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3RhdHMub3V0ICAgIHwgMTEgKy0tLS0tLS0tCiAyIGZp bGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3Bnc3RhdF9pby5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWN0aXZpdHkvcGdzdGF0X2lvLmMKaW5kZXggMzhiYWU3YjE1ZDIuLjRmODYyYzk2MWM1 IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfaW8uYworKysg Yi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS9wZ3N0YXRfaW8uYwpAQCAtNDY0LDYgKzQ2NCwz NSBAQCBwZ3N0YXRfdHJhY2tzX2lvX29iamVjdChCYWNrZW5kVHlwZSBia3R5cGUsIElPT2JqZWN0 IGlvX29iamVjdCwKIAkJaW9fY29udGV4dCA9PSBJT0NPTlRFWFRfQlVMS1dSSVRFKQogCQlyZXR1 cm4gZmFsc2U7CiAKKwkvKgorCSAqIFRoZSBkYXRhIGNoZWNrc3VtcyBsYXVuY2hlciBvbmx5IHNj YW5zIGNhdGFsb2dzIGFuZCBlbWl0cyBXQUwgcmVjb3JkcworCSAqIGZvciBjaGVja3N1bSBzdGF0 ZSBjaGFuZ2VzLgorCSAqLworCWlmIChia3R5cGUgPT0gQl9EQVRBQ0hFQ0tTVU1TV09SS0VSX0xB VU5DSEVSKQorCXsKKwkJaWYgKGlvX29iamVjdCA9PSBJT09CSkVDVF9XQUwgfHwKKwkJCShpb19v YmplY3QgPT0gSU9PQkpFQ1RfUkVMQVRJT04gJiYKKwkJCSBpb19jb250ZXh0ID09IElPQ09OVEVY VF9OT1JNQUwpKQorCQkJcmV0dXJuIHRydWU7CisKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCS8q CisJICogVGhlIHdvcmtlciBhbHNvIHNjYW5zIGNhdGFsb2dzLCB0aGVuIHByb2Nlc3NlcyByZWxh dGlvbnMgdXNpbmcgYSB2YWN1dW0KKwkgKiBhY2Nlc3Mgc3RyYXRlZ3kuCisJICovCisJaWYgKGJr dHlwZSA9PSBCX0RBVEFDSEVDS1NVTVNXT1JLRVJfV09SS0VSKQorCXsKKwkJaWYgKGlvX29iamVj dCA9PSBJT09CSkVDVF9XQUwgfHwKKwkJCShpb19vYmplY3QgPT0gSU9PQkpFQ1RfUkVMQVRJT04g JiYKKwkJCSAoaW9fY29udGV4dCA9PSBJT0NPTlRFWFRfTk9STUFMIHx8CisJCQkgIGlvX2NvbnRl eHQgPT0gSU9DT05URVhUX1ZBQ1VVTSkpKQorCQkJcmV0dXJuIHRydWU7CisKKwkJcmV0dXJuIGZh bHNlOworCX0KKwogCXJldHVybiB0cnVlOwogfQogCkBAIC01MDcsNiArNTM2LDggQEAgcGdzdGF0 X3RyYWNrc19pb19vcChCYWNrZW5kVHlwZSBia3R5cGUsIElPT2JqZWN0IGlvX29iamVjdCwKIAlp ZiAoaW9fb2JqZWN0ID09IElPT0JKRUNUX1dBTCAmJiBpb19vcCA9PSBJT09QX1JFQUQgJiYKIAkJ KGJrdHlwZSA9PSBCX1dBTF9SRUNFSVZFUiB8fCBia3R5cGUgPT0gQl9CR19XUklURVIgfHwKIAkJ IGJrdHlwZSA9PSBCX0FVVE9WQUNfTEFVTkNIRVIgfHwgYmt0eXBlID09IEJfQVVUT1ZBQ19XT1JL RVIgfHwKKwkJIGJrdHlwZSA9PSBCX0RBVEFDSEVDS1NVTVNXT1JLRVJfTEFVTkNIRVIgfHwKKwkJ IGJrdHlwZSA9PSBCX0RBVEFDSEVDS1NVTVNXT1JLRVJfV09SS0VSIHx8CiAJCSBia3R5cGUgPT0g Ql9XQUxfV1JJVEVSKSkKIAkJcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3N0YXRzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvc3Rh dHMub3V0CmluZGV4IDAzY2JjMWNkZWY1Li5jY2I3MTZjN2MxMCAxMDA2NDQKLS0tIGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9zdGF0cy5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9zdGF0cy5vdXQKQEAgLTUxLDIwICs1MSwxMSBAQCBjbGllbnQgYmFja2VuZHxyZWxhdGlv bnx2YWN1dW0KIGNsaWVudCBiYWNrZW5kfHRlbXAgcmVsYXRpb258bm9ybWFsCiBjbGllbnQgYmFj a2VuZHx3YWx8aW5pdAogY2xpZW50IGJhY2tlbmR8d2FsfG5vcm1hbAotZGF0YWNoZWNrc3VtcyBs YXVuY2hlcnxyZWxhdGlvbnxidWxrcmVhZAotZGF0YWNoZWNrc3VtcyBsYXVuY2hlcnxyZWxhdGlv bnxidWxrd3JpdGUKLWRhdGFjaGVja3N1bXMgbGF1bmNoZXJ8cmVsYXRpb258aW5pdAogZGF0YWNo ZWNrc3VtcyBsYXVuY2hlcnxyZWxhdGlvbnxub3JtYWwKLWRhdGFjaGVja3N1bXMgbGF1bmNoZXJ8 cmVsYXRpb258dmFjdXVtCi1kYXRhY2hlY2tzdW1zIGxhdW5jaGVyfHRlbXAgcmVsYXRpb258bm9y bWFsCiBkYXRhY2hlY2tzdW1zIGxhdW5jaGVyfHdhbHxpbml0CiBkYXRhY2hlY2tzdW1zIGxhdW5j aGVyfHdhbHxub3JtYWwKLWRhdGFjaGVja3N1bXMgd29ya2VyfHJlbGF0aW9ufGJ1bGtyZWFkCi1k YXRhY2hlY2tzdW1zIHdvcmtlcnxyZWxhdGlvbnxidWxrd3JpdGUKLWRhdGFjaGVja3N1bXMgd29y a2VyfHJlbGF0aW9ufGluaXQKIGRhdGFjaGVja3N1bXMgd29ya2VyfHJlbGF0aW9ufG5vcm1hbAog ZGF0YWNoZWNrc3VtcyB3b3JrZXJ8cmVsYXRpb258dmFjdXVtCi1kYXRhY2hlY2tzdW1zIHdvcmtl cnx0ZW1wIHJlbGF0aW9ufG5vcm1hbAogZGF0YWNoZWNrc3VtcyB3b3JrZXJ8d2FsfGluaXQKIGRh dGFjaGVja3N1bXMgd29ya2VyfHdhbHxub3JtYWwKIGlvIHdvcmtlcnxyZWxhdGlvbnxidWxrcmVh ZApAQCAtMTExLDcgKzEwMiw3IEBAIHdhbHN1bW1hcml6ZXJ8d2FsfGluaXQKIHdhbHN1bW1hcml6 ZXJ8d2FsfG5vcm1hbAogd2Fsd3JpdGVyfHdhbHxpbml0CiB3YWx3cml0ZXJ8d2FsfG5vcm1hbAot KDk1IHJvd3MpCisoODYgcm93cykKIFxhCiAtLSBMaXN0IG9mIHJlZ2lzdGVyZWQgc3RhdGlzdGlj cyBraW5kcy4KIFNFTEVDVCBpZCwgbmFtZSwgZml4ZWRfYW1vdW50LAotLSAKMi41NS4wCgo= --00000000000032c18a065639212f--