PostgreSQL in Production
5-part series.Keeping a single PostgreSQL cluster healthy in production: connection pooling, backups, read/write splitting, zero-downtime migrations and restore testing.
Multiple DB Users with pgBouncer auth_query
A practical setup for dynamic user authentication via `auth_query` instead of `userlist.txt` when running pgBouncer
A PostgreSQL Backup Strategy with pgBackRest
pg_dump alone is not a backup. A PITR-capable, compressed, verifiable backup architecture with pgBackRest.
Read/Write Splitting: Separating Read and Write Load
Before scaling up the database: moving read traffic to replicas, the traps replication lag creates, and when you actually need it
Changing Schema in Production With Zero Downtime
Running migrations without causing downtime in production: backward-compatible steps, multi-phase column changes, and avoiding table locks
Indexes: Too Few Slow Reads, Too Many Kill Writes
A missing index slows the query; too many indexes make every write expensive. Striking the right balance by measurement, not by guesswork