Back to Devoured - July 02, 2026
DEVOURED
Too many tables are bad for you

Too many tables are bad for you

Data Cybertec
Managing too many tables in PostgreSQL can degrade performance by bloating system catalogs and increasing query planning overhead.
What: Excessive table counts lead to higher I/O demands and slower catalog lookups. Recommendations include consolidating small tables, avoiding schema-per-tenant patterns, and using native declarative partitioning.
Why it matters: PostgreSQL's internal catalog performance scales poorly with massive table counts; architectural patterns that work for application logic often clash with database engine limitations.
Takeaway: Monitor pg_class and total table counts in your database, and plan to consolidate small, related tables before you hit performance bottlenecks.
Decoder
  • Catalog (System Catalog): The collection of internal tables that store metadata about all other tables, indexes, and objects in the database; it is queried during every query plan.
Original article

Having too many tables in PostgreSQL is a bad idea and can seriously hurt performance. The hidden costs can come from bloated catalogs and slower query planning to increased I/O. Practical guidance includes consolidating small, related tables, avoiding excessive schema-per-tenant patterns, monitoring catalog size and planning time, and using inheritance or declarative partitioning when appropriate.

Explore all 51 articles in today's digest

Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi