~/talk

Overcoming Performance Hurdles in Postgres Partitioned Tables

Talkat POSETTE: An Event for Postgres 2025 · 2025-06-10..06-12· [databases]
slides:none on file

Experiments on Azure Postgres (PG17) show planning time rising from milliseconds to ~10s as partitions grow to 5000+ partitions (10,000 in one test) while execution stays millisecond‑fast; equivalence class linear lookups and derived‑clause scans cause the planner slowdown. High concurrency queries that miss the partition key trigger LWLock:lock_manager wait events, drive CPU toward 100% and halve TPS. Practical fixes: pick a true partition key, reduce partition granularity, drop unused indexes, or avoid partitioning; PG18 adds array/indexed equivalence lookups, hashed derived‑clause lookups and max_locks_per_transaction and avoids locking pruned partitions.

AI-written summary · about

  1. 0:00Start
  2. 0:08Introduction - Postgres Partitioning Challenges
  3. 1:36What is Partitioning & Why is it Important?
  4. 4:00Types of Partitioning
  5. 7:06Partition Pruning
  6. 11:39Scenarios where Pruning Does not Happen
  7. 14:07What is Equivalence Class?
  8. 16:38Common Partitioning Challenges
  9. 23:13Solutions
  10. 26:30What is new in Postgres 18
~/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.