Banco de dados Postgres espacialmente ativado


12

Estou tentando criar um banco de dados PostGIS espacialmente ativado. Estou seguindo a documentação do PostGIS, http://postgis.net/docs/manual-1.5/ch02.html#id2648455 .

Na versão curta, eu executei,

createdb yourdatabase
createlang plpgsql yourdatabase

Mas eu não executei os três últimos comandos,

psql -d yourdatabase -f postgis.sql
psql -d yourdatabase -f postgis_comments.sql
psql -d yourdatabase -f spatial_ref_sys.sql

Meu banco de dados ainda está ativado espacialmente? Caso contrário, você pode me dizer onde esses arquivos .sql estão localizados, para que eu possa executar esses últimos comandos, pois estou recebendo o seguinte erro:

postgis.sql: No such file or directory

Estou usando o Ubuntu 12.04


2
para encontrar o seu arquivo postgis.sql, execute "localize postgis.sql" no bash (sem as aspas).
Kelso

Respostas:


14

Embora seu banco de dados seja tecnicamente espacial neste ponto, você só estaria trabalhando com os tipos de geometria de página incorporados.

Para concluir sua instalação, você precisa executar os scripts conforme sugerido.

Você pode encontrá-los em seu /usr/share/postgresql/[version number]/contrib/subdiretório postgis.

Você deve ver o seguinte:

legacy_minimal.sql    postgis_upgrade_20_minor.sql    spatial_ref_sys.sql
legacy.sql            raster_comments.sql             topology_comments.sql
postgis_comments.sql  rtpostgis_legacy.sql            uninstall_legacy.sql
postgis_restore.pl    rtpostgis.sql                   uninstall_postgis.sql
postgis.sql           rtpostgis_upgrade_20_minor.sql  uninstall_rtpostgis.sql

18

Se você possui o Ubuntu 12.04, deve ter o PostgreSQL 9.1, o que torna as coisas incríveis para o PostGIS 2.0, onde você pode usar o novo framework EXTENSION. Para ativar espacialmente um banco de dados, use o DDL em uma janela SQL:

CREATE EXTENSION postgis;

Veja outros detalhes para instalar o PostGIS 2.0 a partir da fonte para o Ubuntu 12.04 aqui .


Se você estiver usando o PostGIS 1.5, precisará dos scripts de ativação no "mydb", executados no shell:

sudo -u postgres createdb mydb
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis_comments.sql

i realmente fez goto /usr/share/postgresql/8.4/contrib/ e encontrou os arquivos .sql lá
Sam007

2
Para usar funções de geometria como ST_Transform e criar colunas de geometria, o usuário também precisará de GRANT SELECT ON spatial_ref_sys TO PUBLIC; GRANT ALL ON geometry_columns TO <meu usuário desejado>;
geekQ

1
Você também pode executar SELECT postgis_full_version();posteriormente para verificar se um banco de dados está ativado espacialmente.
XåpplI'-I0llwlg'I -
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.