Базовые бэкапы и расписание
Base backup — побайтовая копия всего data directory Postgres через pg_basebackup. В отличие от pg_dump (логический), он работает на уровне файлов: меньше CPU при создании, нужен для point-in-time recovery (PITR).
Когда нужен
- PITR — возможность восстановить базу на любой момент времени между бэкапами (нужен base backup + WAL archive)
- Streaming replication setup — bootstrap новой реплики
- Большие базы — там, где
pg_dump слишком долгий
На managed Postgres (Supabase, Neon, RDS, Yandex) base backup делает сам провайдер по расписанию. Доступен через их UI / API. ide99 здесь не нужен.
Имеет смысл в основном для self-hosted Postgres.
Открыть
+ New tab → Backup Center → Base Backup.
Требования
ide99 проверит требования при первом запуске и покажет, чего не хватает.
Форма создания
- Source connection — подключение, к которому сделать бэкап
- Replication user — обычно отдельный пользователь с
REPLICATION (можно использовать тот же, что в подключении, если у него есть права)
- Output directory — куда сложить файлы
- Format:
- Plain — каталог как есть, можно сразу запустить как новую БД
- Tar — упаковано в
.tar для каждого tablespace (по одному tar на tablespace)
- Compress:
- WAL handling:
- Stream ✓ (default) — WAL стримится параллельно с бэкапом, бэкап self-contained
- Fetch — WAL запрашивается в конце; быстрее, но если уровень WAL крутится — могут потеряться
- None — не включать WAL (нужны отдельный archive)
- Slot: имя replication slot, если хотите использовать (рекомендуется для гарантии WAL-доступности)
ide99 покажет команду:
pg_basebackup \
-h db.example.com -p 5432 -U replicator \
-D /backups/2026-05-22 \
-F plain -X stream -P -v \
--slot=basebackup_slot \
-Z zstd
Кнопка Start backup запустит. Прогресс — в Live Ops тоже виден (pg_stat_progress_basebackup).
Восстановление
Восстановление base backup — это remplacer всего data directory Postgres:
- Остановить Postgres
- Сделать backup текущего data dir (на всякий случай) или удалить
- Распаковать base backup в data dir
- Создать
recovery.signal файл (для PITR — recovery_target_time в postgresql.conf)
- Запустить Postgres — он применит WAL и встанет на нужную точку
ide99 в v1.0 не делает шаги 1–5 за вас (это операции на сервере, не клиенте). Восстановление — через ssh + ручные команды.
На managed-Postgres восстановление PITR делается через UI провайдера. Зайдите туда, выберите дату — провайдер всё сделает.
Расписание для self-hosted
Ide99 — не системный планировщик. Серьёзное расписание для self-hosted Postgres:
# /etc/cron.d/postgres-backup
0 2 * * * postgres /usr/local/bin/backup.sh
Где backup.sh — скрипт с pg_basebackup + WAL archiving + загрузка в S3.
ide99 удобен для:
- Разовых бэкапов перед опасной миграцией
- Быстрой настройки реплики (когда нужно один раз снять полный snapshot)
- Аудита: сравнить размер бэкапа со временем
Что не делает
- Continuous archiving / WAL shipping
- Point-in-time recovery (UI для выбора момента — нет; делается на стороне сервера)
- Координация мастер-реплика — делается стандартными средствами Postgres
Что дальше
- Логические бэкапы —
pg_dump для разовых снапшотов и переноса между серверами.
- Live Ops — мониторинг прогресса бэкапа в реальном времени.