Brussels / 30 & 31 January 2016


Improving Postgres' Buffer Manager

Postgresql's buffer manager has parts where it's showing its age. We'll discuss how it currently works, what problems there are, and what attempts are in progress to rectify these weaknesses: * Lookups in the buffer cache are expensive * The buffer mapping table is organized as a hash table, which makes efficient implementations of prefetching, write coalescing, dropping of cache contents hard * Relation extension scales badly * Cache replacement is inefficient * Cache replacement replaces the wrong buffers


Andres Freund