Информация об изменениях

Сообщение Re: postgre backup restore от 07.02.2024 12:01

Изменено 07.02.2024 12:01 Maniacal

Re: postgre backup restore
Здравствуйте, Узумаки Первачев, Вы писали:

УП>гугление и чатгпт не помогло

УП>как правильно сделать бекап и восстановить без ошибок?

Методом проб и ошибок удалось пакетные файлы запилить для этого.
У меня пара батников, один бэкапит с одного сервака, в формате директории с именем файла с текущей датой в составе названия. Второй накатывает базу на другой IP из папки с последней датой в названии.
Приведу самую главную часть.

Backup:

pg_dump --host=GRAPHICS-FT --username=postgres --role=postgres --dbname=atmosphere --blobs --encoding=UTF8 --format=d --file=backup


Restore:

psql --host=192.168.1.3 --dbname=atmosphere --username=postgres -c "DROP SCHEMA IF EXISTS public CASCADE" 2>nul 1>nul
psql --host=192.168.1.3 --dbname=atmosphere --username=postgres -c "CREATE SCHEMA public" 2>nul 1>nul
pg_restore -c --format=directory --host=192.168.1.3 --username=postgres --dbname=atmosphere --role=postgres --if-exists backup


Можно предварительно задать пароль, чтобы не спрашивало с клавиатуры:

SET PGPASSWORD=<пароль>

Re: postgre backup restore
Здравствуйте, Узумаки Первачев, Вы писали:

УП>гугление и чатгпт не помогло

УП>как правильно сделать бекап и восстановить без ошибок?

Методом проб и ошибок удалось пакетные файлы запилить для этого.
У меня пара батников, один бэкапит с одного сервака, в формате директории с именем файла с текущей датой в составе названия. Второй накатывает базу на другой IP из папки с последней датой в названии.
Приведу самую главную часть в упрощённом виде, без использования дат.

Backup:

pg_dump --host=GRAPHICS-FT --username=postgres --role=postgres --dbname=atmosphere --blobs --encoding=UTF8 --format=d --file=backup


Restore:

psql --host=192.168.1.3 --dbname=atmosphere --username=postgres -c "DROP SCHEMA IF EXISTS public CASCADE" 2>nul 1>nul
psql --host=192.168.1.3 --dbname=atmosphere --username=postgres -c "CREATE SCHEMA public" 2>nul 1>nul
pg_restore -c --format=directory --host=192.168.1.3 --username=postgres --dbname=atmosphere --role=postgres --if-exists backup


Можно предварительно задать пароль, чтобы не спрашивало с клавиатуры:

SET PGPASSWORD=<пароль>