Как восстановить бэкап PostgreSQL на Windows

Сегодня рассмотрим нетипичный случай восстановления бэкапа. Когда уже вроде все стандартные способы испробованы, а бэкап отваливается с ошибкой.

Представьте ситуацию, дали вам файлик с названием примерно таким “kometa-2023-11-22_23-00.psql.gz” и сказали, что это бэкап на PostgreSQL. Возможно, что с Linux системами вы немного знакомы и понимаете, что расширение “*.gz” вроде как относится к линуксовым форматам сжатых файлов.

Ну ок, вы пробуете восстановить через кнопочку Restore в pgAdmin. Пытаетесь подсунуть ему целый архив или даже уже распакованное содержимое, но через 0.1 секунды получаете ошибку. Если да, то эта инструкция скорее всего для вас!

Решение

Сначала давайте распакуем куда-нибудь и взглянем на содержимое распакованного файла. Я это сделаю при помощи Notepad++

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

Понимая, что по сути это SQL код, можно сделать вывод, что от нас требуется просто его запустить. А для этого идем в pgAdmin и для начала проверяем настройки путей для бинарников (утилит). Так как при установке pgAdmin они почему то могут не прописаться. В моём случае это выглядят так:

Если что, то типичное место установки бинарников (утилит) на скриншоте. Делайте поправку на вашу версию!

Следующим шагом создаем пустую базу, в которую в дальнейшем восстановим наш бэкап. Никаких особых настроек не делаем, просто сохраняем.

Следующим шагом, из нашей созданной базы необходимо вызвать утилиту PSQL и при её помощи запустить выполнение скрипта

psql \i D:/kometa-2023-11-22_23-00.psql

!!! АХТУНГ !!! обратите внимание на направление слешей в пути файлов. Не забывайте, мы работаем тем, что писалось под Linux, а там принято другое направление слешей. То есть, если в Windows у вас будет такой путь:

D:\MyBackups\kometa-2023-11-22_23-00.psql

То в pgAdmin пишите так:

D:/MyBackups/kometa-2023-11-22_23-00.psql

Нажимаем Enter и поздравляю, у вас началось восстановление бэкапа

После этого подключаем базу к серверу 1С в обычном режиме.

P.S.

Если это ваш первый опыт работы со связкой 1С + PostgreSQL, то на последнем этапе у вас могут быть ошибки восстановления. Это значит, что забыли скачать и установить специальные патчи от 1С. А если хотите попроще, то можно просто установить дистрибутив специально для 1С от команды PostgresPro

chevron_left
chevron_right