PostgreSQL
Autovacuum Is Running and Your Table Is Still Bloating
Dead tuples that never get reclaimed, a table twice the size of its data, and queries getting slower every week. Here is what blocks vacuum and how to see it.
Query plans, lock contention, deadlocks and the row estimate errors behind most reports that an index is not being used.
PostgreSQL
Dead tuples that never get reclaimed, a table twice the size of its data, and queries getting slower every week. Here is what blocks vacuum and how to see it.
PostgreSQL
Two transactions each hold what the other wants. Here is how to read the deadlock report, find both statements, and restructure so it cannot happen again.
PostgreSQL
You added the index and the query is still slow. Here is how to read a Postgres query plan properly and find the row estimate error causing it.
Bug Hunt
The dashboard looked right. The numbers were wrong by a few percent every day, and the reason was one implicit conversion in a reporting query.
PostgreSQL
Adding a column should be instant. Sometimes it is not, and the difference is worth knowing before you run it in production.
Databases
The code reads beautifully and issues four thousand queries. Here is how to detect them automatically instead of discovering them in production.
PostgreSQL
Connection pooling explained through the failure it prevents, and why raising max_connections is usually the wrong fix.