Я нахожусь в Debian Wheezy, и у меня установлен PostgreSQL 9.3. Недавно я установил PostGIS 2.1.7 с пакетом сценариев, а также (63 .SQL файлов на общую сумму 38,7 MB)
apt-get install postgresql-9.3-postgis-2.1
По словам способности, все устанавливается нормально. Однако, похоже, это не работает. После установки, это была ошибка, я получаю:
CREATE EXTENSION postgis;
ERROR: could not open extension control file "/usr/local/pgsql-9.3.2/share/extension/postgis.control": File or directory not found
Используя находку, я обнаружил это в другой папке:
[email protected]:/# find/-name postgis.control
/usr/share/postgresql/9.3/extension/postgis.control
Я скопировал файл на /usr/local/pgsql-9.3. 2/доля/расширение. Затем ошибка изменилась на:
ERROR: could not access file "$libdir/postgis-2.1": No such file or directory
И здесь я не могу ничего сделать, чтобы заставить его работать. То, что я пробовал до сих пор, без успеха:
1- Редактирование postgis.control и изменение следующей строки. CREATE EXTENSION продолжали давать ту же самую ошибку около $ LIBDIR
# module_pathname = '$libdir/postgis-2.1'
module_pathname = '/usr/local/pgsql-9.3.2/share/extension/'
2- Полностью удалить PostGIS и переустановить его. Ничего не изменилось.
3- Создание символической ссылки, указывающей на /usr/lib/postgresql/9.3/lib/postgis-2.1.so. Те же ошибки
4 Создание переменной среды с именем LIBDIR указывая на следующие пути:
/usr/local/pgsql-9.3.2/share/extension/
/usr/share/postgresql/9.3/extension/
/usr/lib/postgresql/9.3/
/usr/lib/postgresql/9.3/lib
Ни один из них работал, сообщение об ошибке хранится быть «не может получить доступ к $ LIBDIR/PostGIS». Я хочу отметить, что на этом последнем я также попытался создать новую папку с именем postgis-2.1 и скопировать postgis-2.1.so на нее, безрезультатно.
Какие варианты у меня остались, чтобы сделать постгизис работы? Что я пропустил?
EDIT1: Это результат DPKG -S PSQL
postgresql-client-9.3: /usr/share/locale/zh_TW/LC_MESSAGES/psql-9.3.mo
postgresql-client-9.3: /usr/share/locale/es/LC_MESSAGES/psql-9.3.mo
postgresql-client-9.3: /usr/share/locale/de/LC_MESSAGES/psql-9.3.mo
postgresql-client-9.3: /usr/share/locale/zh_CN/LC_MESSAGES/psql-9.3.mo
postgresql-client-9.3: /usr/share/locale/ru/LC_MESSAGES/psql-9.3.mo
postgresql-client-9.3: /usr/lib/postgresql/9.3/bin/psql
postgresql-client-9.3: /usr/share/locale/pt_BR/LC_MESSAGES/psql-9.3.mo
postgresql-client-9.3: /usr/share/postgresql/9.3/man/man1/psql.1.gz
postgresql-client-9.3: /usr/share/locale/pl/LC_MESSAGES/psql-9.3.mo
postgresql-client-9.3: /usr/share/locale/ja/LC_MESSAGES/psql-9.3.mo
postgresql-client-9.3: /usr/share/locale/fr/LC_MESSAGES/psql-9.3.mo
postgresql-client-9.3: /usr/share/locale/it/LC_MESSAGES/psql-9.3.mo
postgresql-client-9.3: /usr/share/locale/cs/LC_MESSAGES/psql-9.3.mo
bash-completion: /usr/share/bash-completion/completions/psql
postgresql-client-9.3: /usr/share/postgresql/9.3/psqlrc.sample
odbcinst1debian2:amd64: /usr/lib/x86_64-linux-gnu/odbc/libodbcpsqlS.so
EDIT2: По какой-то причине, эта строка в файле /home/postgres/.bashrc. Человек, который создал базу оставил работу по крайней мере, 2 года назад, так что я не могу даже спросить «почему?»:
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
Перемещение postgis-2.1.so там сделал это «работа», но теперь Я столкнулся с еще одной проблемой.
create extension postgis;
ERROR: could not load library "/usr/local/pgsql-9.3.2/lib/postgis-2.1.so": /usr/local/pgsql-9.3.2/lib/postgis-2.1.so: undefined symbol: HeapTupleHeaderGetDatum
Я смотрю на подобных проблем, большинство, похоже, связаны с PostGreSQL быть 9.3.3 или ниже, с версией PostGIS, предназначенной для 9.3.4 или выше. Будучи построенным из source/script, я думаю, что обновление моего текущего Postgres (9.3.2) - это не совсем простое обновление apt-get.
Я продолжу искать решения, но если кто-нибудь может что-то придумать и хотел бы указать мне, я был бы благодарен.
для PostgreSQL 9,3 упаковано/сконфигурировано для Debian не будет искать расширение внутри _/USR/местные/PGSQL-9.3.2_ Вы самостоятельно компилировать Postgres? –
Где был установлен PostgreSQL? Это очень странная конфигурация. Что такое вывод 'dpkg -S/usr/local/pgsql-9.3.2/bin/psql'? Обычно вы не можете смешивать упакованные расширения (например, PostGIS) с самокомпилированным PostgreSQL. –
Написал результат в редакции – Arthur