У меня есть сервер с Ubuntu 12.04.5 (точной), который выполняет две различных версии PostgreSQL (8.3 и 9.1) на двух различных портах (5432 и 5433). Я установил их из источников пакета по умолчанию. Все работает хороший и чистый.
8.3 использования Установки Плагин PostGIS (Версия 1.5.3-2). Для этих 9,1 установок я хотел бы установить PostGIS в Версии> 2.0. Я боюсь, что я буду повреждать (важное) выполнение 8,3 установок, когда я вручную установлю новую версию PostGIS. Параметр префикса./configure-script, кажется, повреждается, и я не знаю, как препятствовать тому, чтобы новая версия перезаписала старый.
Существует ли безопасный способ включить новую дополнительную версию в этих 9,1 установках?
Сообщите мне при необходимости в дополнительной информации о системе для ответа на это.
У меня есть Ubuntu 16.04, работающая с postgreSQL сервером 9.1, 9.3 и 9.5, где 9.5 имеет постстекло 2,2 установленных (через пакет postgresql-9.5-postgis-2.2). В нормальной установке сервера, существует /usr/bin/pg_config
, сценарий, который сначала ищет pg_config
в /usr/lib/postgresql/*/bin/
(и, если существующий, использует последнюю версию), и если нет ни одного использования /usr/bin/pg_config.libpq-dev
который является частью установки разработчика клиента. Можно просто попытаться работать pg_config
видеть, находит ли это версию, и где это указывает на.
Я загрузил postgis-2.2.4.tar.gz
, распакованный и попробованный для выполнения./настраивать. Это закончилось с сообщением об ошибке, говоря, что я должен был установить пакет разработчика сервера. Таким образом, я сделал sudo apt-get install postgresql-server-dev-9.5
(для 9,5; необходимо установить 9.1, видеть http://packages.ubuntu.com/precise/postgresql-server-dev-9.1). Это действительно обеспечивало /usr/lib/postgresql/9.5/bin/pg_config
, и ./configure
действительно успешно выполнялся.
grep PGSQL config.log
дал
| #define PGSQL_LOCALEDIR "/usr/share/locale"
| #define POSTGIS_PGSQL_VERSION 95
| #define PGSQL_LOCALEDIR "/usr/share/locale"
| #define POSTGIS_PGSQL_VERSION 95
| #define PGSQL_LOCALEDIR "/usr/share/locale"
| #define POSTGIS_PGSQL_VERSION 95
| #define PGSQL_LOCALEDIR "/usr/share/locale"
| #define POSTGIS_PGSQL_VERSION 95
PGSQL_BE_CPPFLAGS='-I/usr/include/postgresql/9.5/server'
PGSQL_BINDIR='/usr/lib/postgresql/9.5/bin'
PGSQL_DOCDIR='/usr/share/doc/postgresql-doc-9.5'
PGSQL_FE_CPPFLAGS='-I/usr/include/postgresql'
PGSQL_FE_LDFLAGS='-L/usr/lib/x86_64-linux-gnu -lpq'
PGSQL_MANDIR='/usr/share/postgresql/9.5/man'
PGSQL_SHAREDIR='/usr/share/postgresql/9.5'
POSTGIS_PGSQL_VERSION='95'
#define PGSQL_LOCALEDIR "/usr/share/locale"
#define POSTGIS_PGSQL_VERSION 95
так пути установки (BINDIR, DOCDIR, MANDIR и SHAREDIR) вся точка к последнему (9.5) установка. После успешный make
затем make -n install
(обязательно не забудьте -n
!), показал пути установки. Большинство из них указало /usr/lib/postgresql/9.5/lib
и /usr/share/postgresql/9.5/extension
, за исключением liblwgeom
, который был бы установлен в /usr/local/lib
и /usr/local/include
.
Так, Вы сначала могли попробовать ./configure
(который не будет вредить), и посмотрите, дает ли это ошибку, и в противном случае куда установка перешла бы в. Вероятно, необходимо установить файлы для разработчика, которые также установят корректное pg_config
для Вашей версии. Пока Вы не делаете sudo make install
, ничто не должно быть установлено.
И, конечно, имейте доверяемую актуальную резервную копию своей рабочей установки!