The Internals of PostgreSQL
ibobev
205 points
13 comments
November 03, 2026
Related Discussions
Found 5 related stories in 112.8ms across 11,510 title embeddings via pgvector HNSW
- PostgreSQL for Everything karlmush · 333 pts · August 19, 2026 · 65% similar
- PostgreSQL 19 Interactive Tour valyala · 71 pts · September 07, 2026 · 61% similar
- PGSimCity - How PostgreSQL Works jonbaer · 356 pts · July 27, 2026 · 59% similar
- The startup's Postgres survival guide abelanger · 366 pts · July 22, 2026 · 56% similar
- Tin: full-text search for Postgres ksec · 206 pts · September 19, 2026 · 55% similar
Discussion Highlights (5 comments)
gopalv
The latest Jepsen report on particledb triggered a new found interest in the SSI implementation in postgres. If you are just skimming this doc, The HoT update path is the section I would jump to. Understand HoT and then read the zHeap implementation notes (also of TOAST) puts a good mental model of what postgres does and what it doesn't do.
getbrew
The HOT chapter is the one with the most direct practical payoff. Two things worth knowing from it: HOT only kicks in when no indexed column changes and the new tuple fits on the same page, so an index on a frequently-updated column (status, updated_at) quietly disables it for every update to that table. And lowering fillfactor (say 80-90) on update-heavy tables leaves free space on each page so HOT can actually happen. Comparing n_tup_hot_upd to n_tup_upd in pg_stat_user_tables is a cheap way to see whether you're getting HOT updates before tuning anything.
jon128
Didn't find the new MVCC in there. https://www.orioledb.com/
dang
Related: The Internals of PostgreSQL - https://news.ycombinator.com/item?id=43241404 - March 2025 (40 comments) The Internals of PostgreSQL - https://news.ycombinator.com/item?id=30372750 - Feb 2022 (19 comments) The Internals of PostgreSQL - https://news.ycombinator.com/item?id=30086374 - Jan 2022 (39 comments) Internals of PostgreSQL - https://news.ycombinator.com/item?id=18950460 - Jan 2019 (25 comments) The internals of PostgreSQL - https://news.ycombinator.com/item?id=13488315 - Jan 2017 (53 comments) The Internals of PostgreSQL - https://news.ycombinator.com/item?id=12142364 - July 2016 (1 comment) (Reposts are fine after a year or so; links to past threads are just to satisfy extra-curious readers)
favori995749721
Chapter 12 (full-text search) quietly changed under this book in Postgres 18: FTS now reads its dictionaries and config through the cluster's default collation provider instead of always libc, so clusters on ICU or the new builtin PG_UNICODE_FAST can see different behavior in FTS and pg_trgm — the release notes explicitly tell you to reindex those indexes after pg_upgrade. Also in 18, LIKE with nondeterministic collations stopped being an error, which was the main reason people avoided case-insensitive ICU collations on searchable columns.