From 7a9328e8e40534fb4de41b4ac152e3c6989d84e7 Mon Sep 17 00:00:00 2001 From: Jeff Davis Date: Tue, 5 Mar 2024 09:25:46 -0800 Subject: [PATCH] docs: Update HOT update docs for 19d8e2308b Commit 19d8e2308b changed when the HOT update optimization is possible but neglected to update the Heap-Only Tuples (HOT) documentation. This patch updates that documentation accordingly. Author: Elizabeth Christensen Backpatch-through: 16 Reviewed-By: Stephen Frost, Alvaro Herrera Discussion: https://postgr.es/m/CABoUFXRjisr58Ct_3VsFEdQx+fJeQTWTdJnM7XAp=8MUbtoa9A@mail.gmail.com --- doc/src/sgml/storage.sgml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml index 652946db7d..2e1914b95b 100644 --- a/doc/src/sgml/storage.sgml +++ b/doc/src/sgml/storage.sgml @@ -1097,8 +1097,10 @@ data. Empty in ordinary tables. - The update does not modify any columns referenced by the table's - indexes, including expression and partial indexes. + The update does not modify any columns referenced by the table's indexes, + not including summarizing indexes. The only summarizing index method in + the core PostgreSQL distribution is BRIN. @@ -1114,7 +1116,8 @@ data. Empty in ordinary tables. - New index entries are not needed to represent updated rows. + New index entries are not needed to represent updated rows, however, + summary indexes may still need to be updated. @@ -1130,14 +1133,12 @@ data. Empty in ordinary tables. - In summary, heap-only tuple updates can only be created - if columns used by indexes are not updated. You can - increase the likelihood of sufficient page space for + You can increase the likelihood of sufficient page space for HOT updates by decreasing a table's fillfactor. - If you don't, HOT updates will still happen because - new rows will naturally migrate to new pages and existing pages with - sufficient free space for new row versions. The system view fillfactor. If you + don't, HOT updates will still happen because new rows + will naturally migrate to new pages and existing pages with sufficient free + space for new row versions. The system view pg_stat_all_tables allows monitoring of the occurrence of HOT and non-HOT updates.