Failover — Complete Guide
Failover — Complete Guide: free step-by-step lesson with examples, common mistakes, and interview tips — part of PostgreSQL Tutorial on Toolliyo Academy.
On this page
PostgreSQL Tutorial · Lesson 64 of 100
Failover
SQL ✓ → Advanced
Advanced · 2 — Production · ~10 min · PostgreSQL — Replication & High Availability
What is this?
Failover promotes standby to primary when main server dies — clients reconnect to new primary. Manual pg_ctl promote or tools like Patroni automate leader election.
Why should you care?
PostgresVerse payment primary AZ failure triggers failover so Swiggy-scale order capture resumes in minutes.
See it live — copy this example
Run in pgAdmin or psql.
-- After old primary is gone, on standby:
SELECT pg_is_in_recovery(); -- true before promote
-- promote (exact command depends on install)
-- pg_ctl promote -D /var/lib/postgresql/data
SELECT pg_is_in_recovery(); -- false after promote
What happened?
- Standby starts as recovery=true.
- Promote ends recovery and opens writes.
- Applications must use virtual IP or service discovery — connection string change.
Practice next
- Lab: stop primary container/process.
- Run promote on standby per your lab doc.
- INSERT test row on new primary.
- Document timeline: detection, promote, DNS TTL, app pool refresh.
- Use pg_rewind to rejoin old primary as standby after split.
Remember
Failover = promote standby + reroute clients. Measure RTO/RPO in drills not disasters. Rewind or rebuild old primary as new standby after.
PostgresVerse AZ outage
Patroni promotes standby in 45s; K8s updates service endpoint.
Outcome: Orders lost only uncommitted sub-second window — within SLA.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!