pg_dump / pg_restore
StableПрактический путь миграции через pg_dump и pg_restore через Gateway с TLS.
Обновлено: 5 марта 2026 г.
Миграция через pg_dump / pg_restore — самый понятный и обычно самый безопасный путь переноса данных в SPG99.
1. Подготовьте целевую БД
Создайте tenant и целевую БД в SPG99. Затем заранее выполните обычное тестовое подключение по DSN, чтобы проверить:
- что credentials корректны;
- что TLS работает;
- что возможный cold start произошёл до большого
pg_restore.
2. Сделайте dump источника
pg_dump -Fc -h <source-host> -U <source-user> <source-db> > dump.dump
Для больших баз заранее оцените размер дампа и время передачи.
3. Восстановите в SPG99 через Gateway
Вариант через DSN:
export TARGET_DSN="postgres://<pg_user>:<pg_password>@<gateway-host>:5432/<target-db>?sslmode=require"
pg_restore -d "$TARGET_DSN" dump.dump
Вариант через переменные:
export PGPASSWORD="<pg_password>"
export PGSSLMODE="require"
pg_restore -h <gateway-host> -p 5432 -U <pg_user> -d <target-db> dump.dump
4. Проверьте результат
После restore полезно проверить:
- что схема и основные таблицы на месте;
- что приложение может подключиться к целевой БД;
- что расширения и привилегии перенесены ожидаемым образом;
- что в дамп случайно не попали лишние служебные секреты и конфигурации.
Практические рекомендации
- для больших баз используйте
--jobs, но контролируйте число соединений; - при необходимости упрощайте миграцию флагами вроде
--no-ownerи--no-privileges, если роли в целевом контуре отличаются; - если у вас строгие требования к downtime, заранее подготовьте cutover‑чеклист, а не переключайтесь “с руки”.
Когда этот путь особенно хорош
pg_dump / pg_restore стоит выбирать, если вам нужен максимально предсказуемый и простой процесс без сложной фазы длительной синхронизации.
