summaryrefslogtreecommitdiff
path: root/src/include/catalog/pg_proc.dat
diff options
context:
space:
mode:
authorPeter Geoghegan <pg@bowt.ie>2023-03-23 11:16:17 -0700
committerPeter Geoghegan <pg@bowt.ie>2023-03-23 11:16:17 -0700
commitae4fdde1352fa6b2c9123e91435efafc78c370a0 (patch)
tree2f0bc32e55b16114a24d14180231a117be526e8b /src/include/catalog/pg_proc.dat
parent3b50275b12950280fb07193e24a4f400ed8a9fef (diff)
downloadpostgresql-ae4fdde1352fa6b2c9123e91435efafc78c370a0.tar.gz
Count updates that move row to a new page.
Add pgstat counter to track row updates that result in the successor version going to a new heap page, leaving behind an original version whose t_ctid points to the new version. The current count is shown by the n_tup_newpage_upd column of each of the pg_stat_*_tables views. The new n_tup_newpage_upd column complements the existing n_tup_hot_upd and n_tup_upd columns. Tables that have high n_tup_newpage_upd values (relative to n_tup_upd) are good candidates for tuning heap fillfactor. Corey Huinker, with small tweaks by me. Author: Corey Huinker <corey.huinker@gmail.com> Reviewed-By: Peter Geoghegan <pg@bowt.ie> Reviewed-By: Andres Freund <andres@anarazel.de> Discussion: https://postgr.es/m/CADkLM=ded21M9iZ36hHm-vj2rE2d=zcKpUQMds__Xm2pxLfHKA@mail.gmail.com
Diffstat (limited to 'src/include/catalog/pg_proc.dat')
-rw-r--r--src/include/catalog/pg_proc.dat10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/include/catalog/pg_proc.dat b/src/include/catalog/pg_proc.dat
index 5cf87aeb2c..7c358cff16 100644
--- a/src/include/catalog/pg_proc.dat
+++ b/src/include/catalog/pg_proc.dat
@@ -5360,6 +5360,11 @@
proname => 'pg_stat_get_tuples_hot_updated', provolatile => 's',
proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
prosrc => 'pg_stat_get_tuples_hot_updated' },
+{ oid => '8614',
+ descr => 'statistics: number of tuples updated onto a new page',
+ proname => 'pg_stat_get_tuples_newpage_updated', provolatile => 's',
+ proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
+ prosrc => 'pg_stat_get_tuples_newpage_updated' },
{ oid => '2878', descr => 'statistics: number of live tuples',
proname => 'pg_stat_get_live_tuples', provolatile => 's', proparallel => 'r',
prorettype => 'int8', proargtypes => 'oid',
@@ -5823,6 +5828,11 @@
proname => 'pg_stat_get_xact_tuples_hot_updated', provolatile => 'v',
proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
prosrc => 'pg_stat_get_xact_tuples_hot_updated' },
+{ oid => '8615',
+ descr => 'statistics: number of tuples updated onto a new page in current transaction',
+ proname => 'pg_stat_get_xact_tuples_newpage_updated', provolatile => 'v',
+ proparallel => 'r', prorettype => 'int8', proargtypes => 'oid',
+ prosrc => 'pg_stat_get_xact_tuples_newpage_updated' },
{ oid => '3044',
descr => 'statistics: number of blocks fetched in current transaction',
proname => 'pg_stat_get_xact_blocks_fetched', provolatile => 'v',