Eu tenho a versão 8.4.8 do Postgres
select version();
PostgreSQL 8.4.8 on i686-pc-linux-gnu, compiled by GCC gcc-4.4.real (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5, 32-bit
Postgis instalado através do pacote sinápticogerente, (postgis e postgresql-8.4-postgis) tudo parecia ir bem. Então, quando tento verificar a versão do Postgis, as coisas não estão bem. Ambos dão o mesmo erro.
SELECT PostGIS_version();
SELECT PostGIS_full_version();
ERROR: function postgis_full_version() does not exist
LINE 1: SELECT PostGIS_full_version();
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
O gerenciador de pacotes afirma que o Postgis está instalado. Como posso verificar se a instalação funcionou ou não funcionou?
Respostas:
29 para resposta № 1PostGIS precisa ser instalado por banco de dados. Bancos de dados existentes não são alterados automaticamente. Execute o script de instalação da seguinte maneira.
No PostgreSQL 8.4 você também pode precisar criar a linguagem plpgsql. Para 9.0+, é a linguagem procedural padrão e instalada automaticamente. No seu banco de dados:
createlang plpgsql yourdatabase
Não pode fazer mal. Se o plpgsql já estiver instalado, ele produzirá um erro dizendo isso. Vá para o diretório de instalação. No Debian Squeeze, os pacotes contrib estão aqui (podem ser diferentes no Ubuntu). Em um shell:
cd /usr/share/postgresql/8.4/contrib/postgis-1.5
Em seguida, execute (como usuário postgres ou você tem que fornecer username / pw):
psql -d yourdatabase -f postgis.sql
psql -d yourdatabase -f spatial_ref_sys.sql
Você também pode querer instalar os comentários para suas novas funções brilhantes (opcional). No Debian Squeeze, o arquivo de instalação está no diretório principal / contrib:
cd /usr/share/postgresql/8.4/contrib
psql -d yourdatabase -f postgis_comments.sql
Se você quiser que o PostGIS seja instalado com cada novo banco de dados no cluster por padrão, instale-o no seu template1
banco de dados também. Ler mais sobre isso no manual.
Fontes para instalação do PostGIS (no Ubuntu):
http://postgis.net/docs/manual-2.1/postgis_installation.html
http://www.paolocorti.net/2008/01/30/installing-postgis-on-ubuntu/
PostgreSQL 9.1+
Com o PostgreSQL 9.1 ou mais recente você pode usar o mais conveniente CREATE EXTENSION
:
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
Sua distribuição provavelmente está enviando a extensão pronta para instalação. Se não, considere o capítulo "Criando Extensões do PostGIS e Implementando-as" no manual do PostGIS.