Создание дампа БД

Материал из Wiki МИАЦ ВО
Версия от 15:54, 26 августа 2026; Misha (обсуждение | вклад) (Новая страница: «==Выполняйте на сервере, где установлен клиент== Создаем папку для дампа <pre>mkdir -p ~/postgre/dump</pre> Создайте файл ~/.pgpass с содержимым <pre>IP_SERV_POSTGR:5432:NAME_BD:postgres:ПАРОЛЬ</pre> где:<br> IP_SERV_POSTGR - ip адрес сервера<br> NAME_BD - Имя БД которой создается дамп<br> postgres:ПАРОЛЬ - имя пользо...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Выполняйте на сервере, где установлен клиент

Создаем папку для дампа

mkdir -p ~/postgre/dump

Создайте файл ~/.pgpass с содержимым

IP_SERV_POSTGR:5432:NAME_BD:postgres:ПАРОЛЬ

где:
IP_SERV_POSTGR - ip адрес сервера
NAME_BD - Имя БД которой создается дамп
postgres:ПАРОЛЬ - имя пользователя и пароль пользователя БД

Задайте права:

chmod 600 ~/.pgpass

Проверьте подключение:

psql -h IP_SERV_POSTGR -p 5432 -U postgres -d reg_svo -c "SELECT current_database(), version();"

Создайте дамп в рекомендуемом custom-формате:

pg_dump \
  -h IP_SERV_POSTGR \
  -p 5432 \
  -U postgres \
  -d NAME_BD \
  -Fc \
  --no-owner \
  -f /PATH_DUMP/NAME_DUMP_$(date +%F).dump

Проверьте дамп:

ls -lh /PATH_DUMP
pg_restore --list /PATH_DUMP/NAME_DUMP_$(date +%F).dump

Формат -Fc удобен для последующего восстановления через pg_restore. Дамп содержит всю базу NAME_BD, включая схему main.
-Fc означает custom format PostgreSQL:

  1. дамп сжатый;
  2. не является обычным SQL-файлом;
  3. восстанавливается командой pg_restore;
  4. позволяет выборочно восстанавливать объекты и использовать параллельные потоки.