From 2254367435fcc4a31cc3b6d8324e33c5c30f265a Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Wed, 22 Feb 2012 20:33:05 -0500 Subject: Make EXPLAIN (BUFFERS) track blocks dirtied, as well as those written. Also expose the new counters through pg_stat_statements. Patch by me. Review by Fujii Masao and Greg Smith. --- doc/src/sgml/pgstatstatements.sgml | 14 ++++++++++++++ doc/src/sgml/ref/explain.sgml | 12 +++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) (limited to 'doc/src') diff --git a/doc/src/sgml/pgstatstatements.sgml b/doc/src/sgml/pgstatstatements.sgml index 5a0230c4286..ab34ca193a4 100644 --- a/doc/src/sgml/pgstatstatements.sgml +++ b/doc/src/sgml/pgstatstatements.sgml @@ -99,6 +99,13 @@ Total number of shared blocks reads by the statement + + shared_blks_dirtied + bigint + + Total number of shared blocks dirtied by the statement + + shared_blks_written bigint @@ -120,6 +127,13 @@ Total number of local blocks reads by the statement + + local_blks_dirtied + bigint + + Total number of local blocks dirtied by the statement + + local_blks_written bigint diff --git a/doc/src/sgml/ref/explain.sgml b/doc/src/sgml/ref/explain.sgml index 419b72cad34..1f35a1d1552 100644 --- a/doc/src/sgml/ref/explain.sgml +++ b/doc/src/sgml/ref/explain.sgml @@ -155,14 +155,20 @@ ROLLBACK; Include information on buffer usage. Specifically, include the number of - shared blocks hits, reads, and writes, the number of local blocks hits, - reads, and writes, and the number of temp blocks reads and writes. - A hit means that a read was avoided because the block was + shared blocks hit, read, dirtied, and written, the number of local blocks + hit, read, dirtied, and written, and the number of temp blocks read and + written. + A hit means that a read was avoided because the block was found already in cache when needed. Shared blocks contain data from regular tables and indexes; local blocks contain data from temporary tables and indexes; while temp blocks contain short-term working data used in sorts, hashes, Materialize plan nodes, and similar cases. + The number of blocks dirtied indicates the number of + previously unmodified blocks that were changed by this query; while the + number of blocks written indicates the number of + previously-dirtied blocks evicted from cache by this backend during + query processing. The number of blocks shown for an upper-level node includes those used by all its child nodes. In text format, only non-zero values are printed. This parameter may only be -- cgit v1.2.3