PDA

Показать полную графическую версию : Ошибка Postgres 9.1.6 при обновлении


DJ Mogarych
30-10-2015, 22:24
Здравствуйте, уважаемые коллеги!

Имеется некий дистрибутив на базе Debian Wheezy c Postgresql-9.1.6 с одной БД.

При попытке обновить версию Постгреса это не выходит, и в логи пишется следующее:

2015-10-21 22:03:43 MSK FATAL: database files are incompatible with server
2015-10-21 22:03:43 MSK DETAIL: The database cluster was initialized with NAMEDATALEN 256, but the server was compiled with NAMEDATALEN 64.
2015-10-21 22:03:43 MSK HINT: It looks like you need to recompile or initdb.


Понятно, что нужно перекомпилировать Постгрес, но как это сделать? Что будет с базой? Что такое initdb?

Пытался как-то применить патч (https://gist.github.com/langner/5c7bc1d74a8b957cab26), но ничего не вышло.
Пытался сам рекомпилировать (sudo make install) по рекомендации на Stackoverflow (http://stackoverflow.com/questions/3836247/how-do-i-change-the-namedatalen-configuration-after-installing-postgresql-9-0), но опять же не получилось, пишет ошибку в конфигурации после изменения параметра перед компиляцией.

Возможно вообще обновить этот Постгрес и перетащить базу?

ruslandh
31-10-2015, 08:03
Судя по сообщению - изменилась длина имён данных - было 256 байт, а сервер поддерживает длину только 64.

Вот вижу патч:

https://gist.github.com/langner/5c7bc1d74a8b957cab26


Вот тут про initdb
https://wiki.debian.org/ru/PostgreSql

А вы откуда брали новый пакет Postgresql ?

Может в репозитории Debian уже есть нужный вам?

Если что - нужно не перекомпилить, а пересобрать пакет deb с приложением патча.

DJ Mogarych
31-10-2015, 10:04
В том-то и дело, что в репозитории и есть обновлённая версия. Вопрос только в том, что старый Постгрес был собран таким образом, что новый Постгрес из репозитория на него не накатывается.

не перекомпилить, а пересобрать пакет deb с приложением патча »
А, вот оно что. Попробую.

Кстати, ругань идёт и на postgres-common и на что-то ещё.

Спасибо, попробую пока пропатчить, позже напишу.




© OSzone.net 2001-2012