2013-10-25 3 views
10

В процессе обновления моего PostgreSQL с версии 9.2.4 до 9.3.1 (через homebrew в OS X) я столкнулся с нечетной проблемой. Эти шаги, которые я сделал до сих порОтсутствие библиотек при обновлении до PostGIS 2.1 и PostgreSQL 9.3.1 с использованием homebrew

  • PostgreSQL, PostGIS и необходимые библиотеки установлены (без ошибок)
  • запустить initdb на новую базу данных
  • остановил оба сервера
  • работает pg_upgrade

pg_upgrade выполняет необходимые проверки, создает дампы старого кластера, но при импорте в новый кластер я получаю следующую ошибку:

> ./pg_upgrade -b /usr/local/Cellar/postgresql/9.2.4/bin/ -B /usr/local/Cellar/postgresql/9.3.1/bin -d /usr/local/var/postgres/ -D /usr/local/var/postgres9.3.1 -u postgres 
Performing Consistency Checks 
----------------------------- 
Checking cluster versions         ok 
Checking database user is a superuser      ok 
Checking for prepared transactions       ok 
Checking for reg* system OID user data types    ok 
Checking for contrib/isn with bigint-passing mismatch  ok 
Creating dump of global objects        ok 
Creating dump of database schemas 
                  ok 
Checking for presence of required libraries     fatal 

Your installation references loadable libraries that are missing from the 
new installation. You can add these libraries to the new installation, 
or remove the functions using them from the old installation. A list of 
problem libraries is in the file: 
    loadable_libraries.txt 

Failure, exiting 

Похоже, что PostgreSQL 9.3.1 пытается использовать PostGIS 2.0, который не совместим

Could not load library "$libdir/postgis-2.0" 
ERROR: could not access file "$libdir/postgis-2.0": No such file or directory 

Could not load library "$libdir/rtpostgis-2.0" 
ERROR: could not access file "$libdir/rtpostgis-2.0": No such file or directory 

Кто-нибудь столкнулся с такой же проблемой?

+0

Я вижу ту же проблему с новой установкой postgresql и postgis. Вы когда-нибудь разбирались? –

+0

К сожалению, нет, я возвращался обратно к PostGIS 2.0 и PostgreSQL 9.2.3 – poezn

ответ

1

Я недавно столкнулся с этой проблемой, и переустановка postgis сработала для меня. То есть, перейдите в папку, в которой вы заархивированы исходный файл (если вы установили PostGIS от источника) и повторно запустить:

./configure 
make 
sudo make install 

Если вы установили последнюю версию PostgreSQL, PostGIS должен установить в папку расширения нового PostGreSQL в:

/usr/share/postgresql/x.x/extension/

Чтобы проверить, запустите:

sudo su -l postgres 

psql template1 -p 5433 

SELECT name, default_version,installed_version 
FROM pg_available_extensions WHERE name LIKE 'postgis%' ; 

Если PostGIS успешно установлен, вы должны увидеть номер версии, указанный в «установлен» со lumn. Теперь, когда вы пытаетесь запустить команду pg_upgrade, все должно работать нормально.

Надеюсь, это поможет.

Смежные вопросы