Series · 10 parts · ~64 min total
Postgres for Backend Engineers
GIN, GiST, BRIN, partial, and expression indexes explained through the workloads that actually need them.
- 1
Indexing Past B-tree
GIN, GiST, BRIN, partial, and expression indexes explained through the workloads that actually need them.
7 min
Jun 1, 2025
- 2
Locking and Contention
Row locks, table locks, SELECT FOR UPDATE, and the tools Postgres gives you to diagnose and break contention before it takes down production.
6 min
Jun 8, 2025
- 3
JSONB Without Regret
When JSONB is the right tool, when it isn't, how to index it properly, and the schema discipline that prevents a flexible column from becoming an unmaintainable blob.
6 min
Jun 15, 2025
- 4
Partitioning for Real Workloads
Declarative table partitioning in Postgres—range, list, and hash strategies—with pruning mechanics, foreign key constraints, and the operational realities that textbook examples omit.
7 min
Jun 22, 2025
- 5
Replication Topologies
Physical replication, logical replication, cascading standbys, and the decision matrix for which topology fits each deployment scenario.
6 min
Jun 29, 2025
- 6
Logical Decoding and CDC
How Postgres logical decoding works under the hood, the pgoutput plugin, replication slots, and building production-grade change data capture pipelines with Debezium.
6 min
Jul 6, 2025
- 7
Connection Pooling Realities
Why Postgres connections are expensive, how PgBouncer's pooling modes differ, and the specific application patterns that break under transaction pooling.
7 min
Jul 13, 2025
- 8
Query Planning Intuition
How the Postgres query planner works, what EXPLAIN ANALYZE output actually tells you, and how to guide the planner through statistics and configuration rather than hints.
7 min
Jul 20, 2025
- 9
Upgrades, Majors and Minors
The mechanics of Postgres minor and major version upgrades, pg_upgrade vs logical replication migration, the rolling-restart story for standbys, and the operational checklist that prevents surprises.
6 min
Jul 27, 2025
- 10
Postgres on Kubernetes
Kubernetes operators for Postgres, the storage and networking constraints that make stateful databases different from stateless workloads, and when managed RDS/Cloud SQL is the honest answer.
6 min
Aug 3, 2025