Webhooks · 9 min read
Webhook idempotency and dedupe for SQLite and Postgres
Handle at-least-once webhook delivery safely: pick event ids, use unique constraints, size the dedupe window and make side effects run once.
9 articles about postgres.
Webhooks · 9 min read
Handle at-least-once webhook delivery safely: pick event ids, use unique constraints, size the dedupe window and make side effects run once.
Backups and recovery · 9 min read
Restores that exit 0 can return old, empty or partial data. Learn six ways it happens and how to check row counts and freshness so a restore proves itself.
Postgres and data · 12 min read
Step by step PITR on PostgreSQL 15 to 17 with recovery.signal, restore_command and recovery_target_time, plus timelines and how to verify the result.
Backups and recovery · 9 min read
Back up a small server with restic without corrupt databases, using SQLite online backup, pg_dump with roles, aborts on bad dumps and a restore test.
Postgres and data · 11 min read
Turn on archive_mode, write a safe archive_command, take a pg_basebackup, and prove with pg_stat_archiver that WAL really reaches the archive.
Postgres and data · 10 min read
We killed a PostgreSQL server mid-write and restored from the archive alone, so you can choose archive_timeout from measured loss instead of guessing.
Postgres and data · 10 min read
A decision guide to logical dumps, pg_basebackup and point-in-time recovery, with a comparison table and recommendations by database size and RPO.
Deploys and releases · 10 min read
Use expand and contract to change a SQLite or Postgres schema while two releases overlap, with the lock pitfalls and the safe forms of common changes.
Backups and recovery · 8 min read
Script a disaster-recovery drill for one VPS. Destroy the server, rebuild from restic, check the data, and see timings and five failures it found.