Сегодня об одном из самых эффективных способов бэкапа PostgreSQL — с помощью pg_basebackup + реплики.
Сценарий: у нас есть продовый PostgreSQL и настроенная горячая реплика (streaming replication). Зачем использовать реплику для бэкапа?
Причины:
- На проде бэкап может замедлить отклик приложения.
- Реплика — отличный способ разгрузить основной сервер.
- Бэкап с pg_basebackup возможен только на стопнутой БД или через репликацию.
Как сделать:
Пояснения:
- -h — адрес реплики
- -U — пользователь с правами репликации
- -D — куда класть бэкап
- -F tar -z — формат архива и сжатие
- -P — прогресс в консоли
Важно:
Пользователь repl_user должен быть прописан в pg_hba.conf и иметь роль REPLICATION.
А если добавить в cron, то получишь стабильный ночной бэкап без боли.
Сценарий: у нас есть продовый PostgreSQL и настроенная горячая реплика (streaming replication). Зачем использовать реплику для бэкапа?
Причины:
- На проде бэкап может замедлить отклик приложения.
- Реплика — отличный способ разгрузить основной сервер.
- Бэкап с pg_basebackup возможен только на стопнутой БД или через репликацию.
Как сделать:
SQL:
pg_basebackup -h replica.host -U repl_user -D /backup/pg -F tar -z -P
- -h — адрес реплики
- -U — пользователь с правами репликации
- -D — куда класть бэкап
- -F tar -z — формат архива и сжатие
- -P — прогресс в консоли
Важно:
Пользователь repl_user должен быть прописан в pg_hba.conf и иметь роль REPLICATION.
А если добавить в cron, то получишь стабильный ночной бэкап без боли.