~/talk

Re-engineering Postgres for Millions of Tenants

Talkat PGConf.dev 2025 · 2025-05-13..05-16· [databases]
slides:none on file

Nile modifies Postgres with an extension, a Go gateway, and a custom storage manager that puts tenant partitions on per-tenant table spaces backed by object storage via Slate DB on S3. Queries route by tenant ID to a Postgres 15 instance, planner rewrites switch OIDs to per-tenant partitions, and cross-tenant queries use inherited FDWs + union all. Tenant moves freeze, copy WAL slices, detach/reattach partitions; catalog IDs limit scale to about 16 million tenants.

AI-written summary · about

  1. 0:00Introduction and thank you
  2. 1:38Multi-tenant applications overview
  3. 4:28Isolated vs pooled tenant models
  4. 8:47Sharding for data locality
  5. 10:15Nile’s tenant isolation architecture
  6. 13:28Storage layer and table spaces
  7. 17:24Tenant creation flow
  8. 21:37Querying tenant data
  9. 24:06Cross-tenant query architecture
  10. 30:06Moving tenants between servers
  11. 34:19Benefits and ROI of the architecture
  12. 37:07Challenges and limitations
  13. 40:21Future improvements and ideas
  14. 43:55Summary and key takeaways
  15. 44:16Q&A session
~/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.