Ops: PostgreSQL — WAL-G Restore/Promote¶
Purpose: Restore from WAL-G archive and promote a new primary. Owner: Database SRE · When: DR promotion or point-in-time recovery (PITR).
Pre-requisites¶
- WAL-G configured with storage creds (on-prem object storage/cloud bucket).
- Target instance reachable; maintenance/DR window approved.
Rollback¶
If recovery invalid, stop service, re-run restore from earlier base + WALs, or fail back to prior primary.
Steps¶
1) Run controlled restore/promote
deployment/common/scripts/dr_restore_promote.sh azure | tee "output/logs/db/$(date -Iseconds)_walg_restore_promote.log"
pg_is_in_recovery() returns false.
2) Sanity checks
-- Run via psql
SELECT pg_is_in_recovery(); -- should be false
SELECT now() - pg_last_xact_replay_timestamp(); -- NULL on primary
3) Application connectivity - NetBox/other apps connect; write small test and verify read.
Evidence¶
- Restore/promote log:
output/logs/db/<ts>_walg_restore_promote.log - DB screenshots/queries in
output/artifacts/sql-ro/images/