Making your PostgreSQL database sing

DjangoCon 2009

This September 2009 conference talk by Frank Wiles from Revolution Systems focused on PostgreSQL performance optimization with the core principle that "performance is about doing less, not doing something faster." The presentation covered essential postgresql.conf configuration settings including shared_buffers (10-20% of RAM), effective_cache_size (75% of RAM), and work_mem (sized for ORDER BY operations), before diving into materialized views as a powerful optimization technique. Wiles demonstrated how creating pre-computed tables could dramatically improve query performance - showing a real example where a complex voting query that took 4.2 seconds was reduced to 0.345 seconds using a materialized view, and then explained how to maintain these views in real-time using PostgreSQL triggers with pl/python functions, making this approach suitable for time-based aggregations, denormalizing frequent queries, and any scenario where SELECT operations significantly outnumber INSERT/UPDATE operations.