бэкап_и_восстановление_бд_средствами_postgresql

Бэкап и восстановление БД средствами PostgreSQL

Бэкап можно выполнить при помощи утилиты pg_dump. Пример.

 pg_dump -h server -p 5432 -U postgres -Fc -b -v database_name > /path/name.dump   

Чтобы восстановить базу на другом сервере - копируем туда дамп по SFTP. В случае, если на втором сервере уже есть база данных с таким же именем - необходимо сначала её удалить.

 su postgres
 psql
 drop database "DB_NAME";

Проверяем, что база пропала.

 \l

Если дроп ругается на то, что есть активные сеансы, можно дропнуть насильно.

 postgres=# drop database "database" WITH (FORCE);

Теперь, прежде чем использовать утилиту pg_restore для восстановления из дампа - нам нужно создать пустую базу средствами postgres.

:!: Лучше не создавать пустую базу в консоли администрирования 1с - в этом случае при загрузке дампа pg_restore - могут быть ошибки.

 create database DB_NAME;

После создания базы - запускаем восстановление из под пользователя postgres, предварительно сделав cd в папку, в которой расположены файлы дампа.

 cd /path_to_dumps/directory
 pg_restore -d prof dump.bkp

Подключаем базу в консоли администрирования 1с и проверяем её работу.


Перезапуск службы специальной версии PostgreSQL для 1с

 systemctl restart postgrespro-1c-13
бэкап_и_восстановление_бд_средствами_postgresql.txt · Last modified: 2024/03/25 13:57 by jp