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
- 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
+ linkend="brin">BRIN.
- 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.
- 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
- linkend="reloption-fillfactor">fillfactor .
- If you don't,
HOT updates will still happen because
- new rows will naturally migrate to new pages and existing pages with
- s
ufficient free s pace for new row versions. The system view
+ linkend="reloption-fillfactor">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
linkend="monitoring-pg-stat-all-tables-view">pg_stat_all_tables
allows monitoring of the occurrence of HOT and non-HOT updates.