Ошибка pg_restore из pgadmin3 - Postgresql

Я сделал резервную копию базы данных Postgresql из системы 1 с помощью инструмента pgadmin3. Созданный файл резервной копии имеет расширение «.backup».

Я пытаюсь восстановить его на другой системе2, установленной с postgresql 9.0 и pgadmin3 1.8, но получаю сообщение об ошибке:

не удалось выполнить запрос: ОШИБКА: нераспознанный параметр конфигурации "lock_timeout" Команда была: SET lock_timeout = 0;

Конфигурация обеих систем:

system1 win7-64bit postgresql 9.0.13-1 - 64bit pgadmin 1.8

system2 win7-32bit postgresql 9.0.13-1 - 32bit pgadmin 1.8


person Sangram Anand    schedule 02.10.2013    source источник


Ответы (2)


По умолчанию pgAdmin использует собственные двоичные файлы, которые в данном случае могут быть выше (или ниже) версии PostgreSQL, с которой вы работаете. Вы можете настроить pgAdmin на использование двоичных файлов из локальной установки PostgreSQL, если ваша база данных является локальной. Если база данных, с которой вы работаете, является удаленной, вы можете рассмотреть возможность установки копии этой версии PostgreSQL локально, чтобы вы могли использовать двоичные файлы.

В разделе Настройки -> Браузер -> Двоичные пути задайте путь к папке PG как путь к вашей локальной установке PostgreSQL (или к любой локальной установке, если она той же версии, что и база данных).

Настройка нового местоположения для двоичных файлов PG лучше всего подходит, если вы в основном работаете с одной версией PostgreSQL за раз и используете последнюю версию pgAdmin. Однако, если вы одновременно используете несколько версий PostgreSQL, лучше использовать командную строку. Лично в этом случае я все еще использую pgAdmin, чтобы запустить восстановление и выдать ошибку, а затем использовать флаги командной строки, созданные графическим интерфейсом (которые вы можете найти в файле журнала), чтобы скопировать и вставить в мою терминальную программу (вы возможно, придется удалить флаг --no-password).

person Jonathon Richardson    schedule 09.07.2015
comment
У меня была та же проблема, что и у спрашивающего. Этот ответ решил проблему. Спасибо. - person olivmir; 05.04.2017

Значение lock_timeout появилось в версии 9.3. Это похоже на проблему с pgAdmin. Стоит сообщить об ошибке.

В качестве обходного пути вы можете попробовать выполнить восстановление с помощью клиента командной строки (psql для текстовой резервной копии, pg_restore для нетекстовой логической резервной копии).

person Chris Travers    schedule 22.11.2013