Ошибка pg_restore от pgadmin3 - Postgresql


8

Я взял резервную копию базы данных postgresql из system1, используя инструмент 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

Ответы:


6

lock_timeout это новый параметр, который появился в PostgreSQL 9.3

Согласно примечаниям к выпуску :

Добавьте конфигурационную переменную lock_timeout, чтобы разрешить ограничение продолжительности сеанса для получения какой-либо одной блокировки (Zoltán Böszörményi)

Это указывает на то, что pgadmin использует pg_dumpкоманду PostgreSQL 9.3 для создания резервной копии вместо 9.0.

Это рекомендуется только при переходе на 9.3. Поскольку целевым сервером является 9.0, лучше использовать pg_dumpдвоичный файл, который был установлен вместе с сервером 9.0.

Путь к внешним двоичным файлам можно задать в настройках pgAdmin. Чтобы решить эту проблему, вы можете установить его в каталог bin вашей установки 9.0 и повторить попытку резервного копирования.

Кроме этого, в качестве единовременного исправления вы можете отредактировать файл дампа, если он находится в простом текстовом виде, удалите ошибочную строку SET lock_timeout = 0;в надежде, что это единственная проблема, вызванная несовпадением версий.


1
Как ни странно, я получаю эту же ошибку даже с исходной и целевой базой данных 9.3 ...
Cerin

Я получаю эту ошибку с резервным копированием БД из Heroku и восстановление на новый локальный 9,3 дБ. Это имеет значение?
Джастингордон

1
Я не могу получить этот параметр во всех файлах резервных копий, но все равно восстановление сообщает мне ту же ошибку. Я получил дамп на 9.3 postgresql, и я пытаюсь восстановить на 9.2 postgresql. Я думаю, что есть какой-то вариант создания автоматически этих параметров lock_timeout?
г.Аннунзиата
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.