~/talk

My Postgres partitioning cookbook

Talkat POSETTE: An Event for Postgres 2026 · 2026-06-16..06-18· [databases]
slides:none on file

After four years of experiments the claim is clear: start partitioning before ~100 GB and use range-based partitioning not hash. Notes include Postgres 14 allowing concurrent DETACH (but not with default partitions), Postgres 18 changing default constraints, and a real case of reading 50 partitions instead of 2 fixed by aligning boundaries and turning on enable_partitionwise_join. The workflow uses NOT VALID CHECKs and risky catalog edits to attach partitions fast, plus a concurrent-index-then-parent-index strategy; it works but causes foreign-key/catalog surprises.

AI-written summary · about

  1. 0:00Music & introduction
  2. 2:28Why large tables need partitioning
  3. 4:42Why range partitioning wins
  4. 5:52Time and integer partitioning examples
  5. 7:02The hidden risks of default partitions
  6. 8:29How default partitions save you
  7. 9:48Catalog tricks for partitioned tables
  8. 12:58Index creation challenges in partitioning
  9. 14:18Foreign key challenges in partitioned tables
  10. 15:14Automating partition management
  11. 15:37Why joining partitioned tables is hard
  12. 17:23Fixing partitioned table join problems
  13. 20:13Associative table design challenges
  14. 21:30Using partitioning for data archiving
  15. 23:20Partitioning summary and key takeaways
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.