🧠 PostgreSQL Synchronous Replication Internals: The Backend Wait PathFrom COMMIT to sleep Part 2 showed you the shared-memory layout — the queues, the per-mode released-LSN markers (WalSndCtl->lsn[]), and the per-backend state fields. Now we trace the backend's code paMay 31 · 17 min readsri-revuru.hashnode.dev
🧠 PostgreSQL Synchronous Replication Internals: The Shared-Memory RendezvousNo messages. No sockets. Just shared memory and a latch. In Part 1, we met the three actors — backend, walsender, checkpointer — and said they "communicate through shared memory." That was hand-wavingMay 14 · 13 min readsri-revuru.hashnode.dev
🧠 PostgreSQL Synchronous Replication Internals: How a COMMIT Waits and Wakes UpYour COMMIT is hanging. Why? You've set up a primary with two physical replicas, configured this on the primary: synchronous_standby_names = 'FIRST 1 (s1, s2)' -- needs SIGHUP / pg_reload_conf() sMay 4 · 8 min readsri-revuru.hashnode.dev
🧠 PostgreSQL Internals — How cmin, cmax, and ComboCID Really Work.Lets Dissect HeapTupleFields. “PostgreSQL tracks five MVCC fields using only three storage slots — by letting multiple fields share the same space.” 1️⃣ Concept — Why do we need cmin & cmax? PostgrApr 4 · 9 min readsri-revuru.hashnode.dev
My First PGConf India 2026 Earlier this month, I attended PGConf India 2026 in Bengaluru — my first-ever PostgreSQL conference. I've been to meetups before, but this was a completely different energy. Two days, packed sessions,Mar 24 · 5 min readsri-revuru.hashnode.dev