Eu tenho um Ubuntu 16.04 rodando com o servidor postgreSQL 9.1, 9.3 e 9.5, onde o 9.5 possui o postgis 2.2 instalado (via pacote postgresql-9.5-postgis-2.2). Na instalação normal do servidor, há /usr/bin/pg_config
, um script que primeiro procura pg_config
em /usr/lib/postgresql/*/bin/
(e, se existir, usa a versão mais recente) e, se não houver nenhum, usa /usr/bin/pg_config.libpq-dev
, que faz parte do instalação do desenvolvedor do cliente. Você pode simplesmente tentar executar pg_config
para ver se ele encontra uma versão e para onde aponta.
Eu baixei postgis-2.2.4.tar.gz
, descompactei e tentei executar ./configure. Isso acabou com uma mensagem de erro, dizendo que eu tinha que instalar o pacote do desenvolvedor do servidor. Então eu fiz sudo apt-get install postgresql-server-dev-9.5
(para 9.5; você deve instalar 9.1, veja link ). Isso forneceu /usr/lib/postgresql/9.5/bin/pg_config
e ./configure
teve êxito.
grep PGSQL config.log
deu
| #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
para que os caminhos de instalação (BINDIR, DOCDIR, MANDIR e SHAREDIR) apontem para a instalação mais recente (9.5). Após sucesso make
então make -n install
(não esqueça de -n
!) Mostrou os caminhos de instalação. A maioria deles apontava para /usr/lib/postgresql/9.5/lib
e /usr/share/postgresql/9.5/extension
, com exceção de liblwgeom
, que seria instalado em /usr/local/lib
e /usr/local/include
.
Então, primeiro você pode tentar ./configure
(o que não vai prejudicar) e ver se dá um erro, e se não, para onde a instalação iria. Provavelmente você precisa instalar os arquivos de desenvolvimento, que também instalarão o pg_config
correto para sua versão. Contanto que você não sudo make install
, nada deve ser instalado.
E, claro, tem um backup atual confiável da sua instalação em execução!