Установите несколько версий PostgreSQL с различными версиями модуля PostGIS на Ubuntu 12.04

У меня есть сервер с 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 установках?

Сообщите мне при необходимости в дополнительной информации о системе для ответа на это.

0
задан 10 January 2017 в 09:28

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, ничто не должно быть установлено.

И, конечно, имейте доверяемую актуальную резервную копию своей рабочей установки!

2
ответ дан 7 November 2019 в 04:26

Другие вопросы по тегам:

Похожие вопросы: