Дамп и восстановление БД Postgres
Вариант 1 (рекомендуемый)
Дамп и восстановление БД (бинарный формат *.tar)
- Сделать дамп БД, например:bash
pg_dump -U zrs_admin -d ZRS -h localhost -F t > /backup/zrs.tar - Выполнить изменение БД и, при наличии ошибок, знатно так прих...еть
- Остановить все сервисы (контейнеры), использующие БД:bash
sudo docker-compose down - Очистить "хвосты" контейнеров:bash
rm -r /opt/zvk/www/* - Выполнить восстановление данных:bash
pg_restore --clean -U zrs_admin -d ZRS -h localhost /backup/zrs.tar - Запустить остановленные ранее службы (контейнеры):bash
sudo docker-compose up -d - Вых..еть обратно и работать как раньше 😃
Вариант 2
Дамп и восстановление БД (текстовый формат *.sql)
- Сделать дамп БД, например:bash
pg_dump -U zrs_admin -d ZRS -h localhost > /backup/zrs.sql - Выполнить изменение БД и, при наличии ошибок, знатно так прих...еть
- Остановить все сервисы и контейнеры, использующие БД:bash
sudo docker-compose down - Очистить "хвосты" контейнеров:bash
rm -r /opt/zvk/www/* - Выполнить бекап схемыbash
pg_dump --schema-only ZRS > /backup/schema_zrs.sql - Удалить побитую жизнью БДbash
dropdb ZRS - Создать пустую БД с аналогичным именем:bash
createdb ZRS - Выполнить восстановление схемы:bash
psql -f /backup/schema_zrs.sql ZRS - Выполнить восстановление данных:bash
psql -U zrs_admin -d ZRS -h localhost -f /backup/zrs.sql - Запустить остановленные ранее службы (контейнеры):bash
sudo docker-compose up -d - Вых..еть обратно и работать как раньше 😃