Степан Орлов

Postgres дома: бэкапы, которым можно доверять

12 апреля 2026

Небольшая база Postgres крутится у меня дома уже третий год. В ней нет ничего героического: списки дел, домашний бюджет, архив показаний счётчиков и пара пет-проектов. Нагрузки почти нет, и долгое время я был уверен, что главное здесь — правильно разложить индексы. Оказалось, что главное — это восстановление.

Схема в итоге простая. Ночью pg_dump снимает логический дамп каждой базы, дальше restic складывает его в зашифрованный репозиторий — одна копия на втором диске, вторая уезжает в объектное хранилище. Никаких самописных скриптов на пятьсот строк: чем меньше движущихся частей, тем меньше поводов им сломаться именно тогда, когда копия понадобится.

Но дамп, который ни разу не разворачивали, — это не бэкап, а надежда. Поэтому раз в месяц по расписанию поднимается временный контейнер, в него заливается последняя копия, и простой запрос проверяет, что данные на месте и читаются. Первый же такой прогон нашёл у меня сломанную кодировку в одной из таблиц — о которой я бы иначе узнал в худший возможный момент.

Резервная копия существует не в момент создания, а в момент успешного восстановления.

С тех пор сплю спокойнее. Не потому, что дома стало больше железа, а потому что знаю: если диск умрёт, я потеряю максимум один день — и ровно столько раз я это проверял.

← ко всем заметкам