Skip to content
Opensource internals
  • Posts

Internals

PostgreSQL Computes Page Checksums Fast: Thirty-Two Parallel FNV-1a Hashes

Sep 5, 2026 29 min read Jay Hubbert

The page checksum runs 32 FNV-1a hashes in parallel over a 32-column view of the page to hide multiply latency — and 32 is baked into the on-disk format.

PostgresPerformanceStorageInternals

Read more →

PostgreSQL's Integer Type Implementation in C: int2, int4, int8

Sep 3, 2026 8 min read Jay Hubbert

int2, int4 and int8 are one design in three widths — every operator is overflow-checked, so 2147483647 + 1 raises an error instead of wrapping negative.

PostgresInternalsInt2Int4Int8

Read more →

PostgreSQL Deduplicates B-Tree Entries: Posting Lists and In-Place Splits

Sep 1, 2026 46 min read Jay Hubbert

B-tree leaves store one posting list tuple per distinct key instead of one entry per row, and an over-long list is split in place inside the insert’s critical section.

PostgresPerformanceBtreeIndexInternals

Read more →

PostgreSQL's Multirange Type Implementation in C: One Format, Six Types

Aug 31, 2026 7 min read Jay Hubbert

All six multirange types share one implementation: a 12-byte header, 32-bit items that store lengths by default and absolute offsets every fourth entry, plus a flags array.

PostgresInternalsMultirangeRange

Read more →

PostgreSQL Does Async I/O with io_uring: A Closed-Loop Read-Ahead Controller

Aug 27, 2026 32 min read Jay Hubbert

PostgreSQL 20’s AIO subsystem has an io_uring backend plus a read-ahead controller that doubles its look-ahead distance only when the backend actually had to wait for I/O.

PostgresPerformanceIoInternals

Read more →

← Newer Page 4 of 7 Older →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·