Skip to content

Дамп и восстановление БД Postgres

Вариант 1 (рекомендуемый)

Дамп и восстановление БД (бинарный формат *.tar)

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

Вариант 2

Дамп и восстановление БД (текстовый формат *.sql)

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

Создано с VitePress