Base de datos de Postgres espacialmente habilitada


12

Estoy tratando de crear una base de datos PostGIS espacialmente habilitada. Estoy siguiendo la documentación de PostGIS, http://postgis.net/docs/manual-1.5/ch02.html#id2648455 .

En la versión corta, ejecuté,

createdb yourdatabase
createlang plpgsql yourdatabase

Pero no ejecuté los últimos tres comandos,

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

¿Mi base de datos todavía está espacialmente habilitada? Si no es así, ¿puede decirme dónde se encuentran estos archivos .sql para que pueda ejecutar esos últimos comandos, ya que recibo el siguiente error,

postgis.sql: No such file or directory

Estoy usando Ubuntu 12.04


2
para encontrar su archivo postgis.sql ejecute "localizar postgis.sql" desde bash (sin las comillas).
Kelso

Respuestas:


14

Si bien su base de datos es técnicamente espacial en este punto, solo estaría trabajando con los tipos de geometría de pg incorporados.

Para completar su instalación, necesita ejecutar los scripts como se sugiere.

Puede encontrarlos en su /usr/share/postgresql/[version number]/contrib/subdirectorio postgis.

Deberías ver lo siguiente:

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

Si tiene Ubuntu 12.04, debería tener PostgreSQL 9.1, lo que hace que las cosas sean increíbles para PostGIS 2.0, donde puede usar el nuevo marco EXTENSION. Para habilitar espacialmente una base de datos, use el DDL desde una ventana SQL:

CREATE EXTENSION postgis;

Vea otros detalles para instalar PostGIS 2.0 desde la fuente de Ubuntu 12.04 aquí .


Si está utilizando PostGIS 1.5, necesitará los scripts de habilitación en "mydb", ejecutado desde el 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

De hecho, fui al /usr/share/postgresql/8.4/contrib/ y encontré los archivos .sql allí
Sam007

2
Para usar funciones de geometría como ST_Transform y crear columnas de geometría, el usuario también necesitará GRANT SELECT ON spatial_ref_sys TO PUBLIC; OTORGAR TODO EN geometry_columns A <mi usuario deseado>;
geekQ

1
También puede ejecutar SELECT postgis_full_version();después para verificar que una base de datos esté habilitada espacialmente.
XåpplI'-I0llwlg'I -
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.