Резервное копирование БД

Резервное копирование БД, созданной СУБД PostgreSQL можно выполнить утилитой pg_dump:

pg_dump -d <наименование_БД> -h <IP-адрес_хоста> -p <порт> -U <пользователь> -W --format=t > <имя_файла_для_сохранения_БД.tar>
BASH

где:

-d <наименование_БД> - имя БД. При стандартных настройках используется имя termidesk;

-h <IP-адрес_хоста> - IP-адрес узла, где расположена БД. Если БД устанавливалась локально, нужно указать localhost;

-p <порт> - порт для подключения к БД. При стандартных настройках используется 5432;

-U <пользователь> - имя пользователя для подключения. При стандартных настройках используется имя termidesk;

-W - запрос пароля для подключения к БД. При стандартных настройках при появлении запроса нужно указать ksedimret;

--format=t - ключ для экспорта БД в формате tar;

<имя_файла_для_сохранения_БД.tar> - имя и формат файла (tar) для сохранения БД;

Если указанная команда не помогла, то сделать резервную копию вторым способом:

  • на узле с СУБД PostgreSQL переключиться на пользователя postgres:
sudo su postgres
BASH
  • выполнить резервное копирование БД:
pg_dump -d <наименование_БД> > <имя_файла_для_сохранения_БД.sql>
BASH

где:

-d <наименование_БД> - имя БД. При стандартных настройках используется имя termidesk;

<имя_файла_для_сохранения_БД.sql> - имя и формат файла (sql) для сохранения БД.

Восстановление БД из резервной копии

Восстановление БД из резервной копии выполняется командой:

pg_restore -d <наименование БД> -h <IP-адрес_хоста> -p <порт> -U <пользователь> -W --format=t <файл_копии_БД.tar>
BASH

где:

-d <наименование БД> - имя БД. При стандартных настройках используется имя termidesk;

-h <IP-адрес_хоста> - IP-адрес узла, где расположена БД. Если используется локальная БД, нужно указать localhost;

-p <порт> - порт для подключения к БД. При стандартных настройках используется 5432;

-U <пользователь> - имя пользователя для подключения. При стандартных настройках используется имя termidesk;

-W - запрос пароля для подключения к БД. При стандартных настройках при появлении запроса нужно указать ksedimret;

--format=t <файл_копии_БД.tar> - ключ для восстановления БД из резервной копии в формате tar.

Если резервная копия сохранена в файле формата .sql, нужно:

  • переключиться на пользователя postgres:
sudo su postgres
BASH
  • восстановить БД из резервной копии:
psql -d <наименование_БД> -f <имя_файла_для_сохранения_БД.sql>
BASH