postgres=# select * from sessions where video_id = 'YL31cf9Q1VM';

Compression improvements

· 64:25 · Storage internals

Explore compression paths and possible improvements.

session summary

The session began by designing an overflow hash table for pg_stat_statements and pg_stat_kcache so new query IDs would not block behind a busy main table; races and merge semantics made it unsuitable for an immediate patch. Discussion then shifted to compression throughout Postgres. Per-column dictionaries were judged invasive, while reusing compression context during B-tree WAL logging looked tractable. They examined pglz and LZ4 stream constraints and concluded that B-tree builds should first batch pages like GiST; no code was written.

timecodes

  1. Revisiting pg_stat_kcache lock contention
  2. An overflow hash table for delayed query IDs
  3. Duplicate entries and merge races
  4. From statistics contention to compression
  5. Column dictionaries and system-wide dictionaries
  6. Reusing context for B-tree full-page images
  7. Why appending to compressed streams is difficult
  8. B-tree WAL batching becomes the prerequisite