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

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

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

Как восстановить бэкап PostgreSQL на Windows — иллюстрация
Как восстановить бэкап PostgreSQL на Windows — иллюстрация

Решение

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

Как восстановить бэкап PostgreSQL на Windows — иллюстрация

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

Как восстановить бэкап PostgreSQL на Windows — иллюстрация

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

Как восстановить бэкап PostgreSQL на Windows — иллюстрация

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

Как восстановить бэкап PostgreSQL на Windows — иллюстрация

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

Как восстановить бэкап PostgreSQL на Windows — иллюстрация

Следующим шагом, из нашей созданной базы необходимо вызвать утилиту 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

Как восстановить бэкап PostgreSQL на Windows — иллюстрация

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

Как восстановить бэкап PostgreSQL на Windows — иллюстрация

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

Как восстановить бэкап PostgreSQL на Windows — иллюстрация

P.S.

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