Base de données Postgres activée spatialement


12

J'essaie de créer une base de données PostGIS spatialement activée. Je suis la documentation PostGIS, http://postgis.net/docs/manual-1.5/ch02.html#id2648455 .

Dans la version courte, j'ai exécuté,

createdb yourdatabase
createlang plpgsql yourdatabase

Mais je n'ai pas exécuté les trois dernières commandes,

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

Ma base de données est-elle toujours activée spatialement? Sinon, pouvez-vous me dire où se trouvent ces fichiers .sql afin que je puisse exécuter ces dernières commandes, car je reçois l'erreur suivante,

postgis.sql: No such file or directory

J'utilise Ubuntu 12.04


2
pour trouver votre fichier postgis.sql, exécutez "localiser postgis.sql" depuis bash (sans les guillemets).
Kelso

Réponses:


14

Bien que votre base de données soit techniquement spatiale à ce stade, vous ne travailleriez qu'avec les types de géométrie pg intégrés.

Afin de terminer votre installation, vous devez exécuter les scripts comme suggéré.

Vous pouvez les trouver dans votre /usr/share/postgresql/[version number]/contrib/sous-répertoire postgis.

Vous devriez voir ce qui suit:

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 vous avez Ubuntu 12.04, vous devriez avoir PostgreSQL 9.1, ce qui rend les choses impressionnantes pour PostGIS 2.0, où vous pouvez utiliser le nouveau framework EXTENSION. Pour activer spatialement une base de données, utilisez le DDL à partir d'une fenêtre SQL:

CREATE EXTENSION postgis;

Voir d'autres détails pour installer PostGIS 2.0 à partir de la source pour Ubuntu 12.04 ici .


Si vous utilisez PostGIS 1.5, vous aurez besoin des scripts d'activation sur "mydb", exécutés à partir du 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

en fait, je suis allé dans /usr/share/postgresql/8.4/contrib/ et y ai trouvé les fichiers
.sql

2
Pour utiliser des fonctions de géométrie comme ST_Transform et créer des colonnes de géométrie, l'utilisateur aura également besoin de GRANT SELECT ON spatial_ref_sys TO PUBLIC; DONNER TOUT SUR geometry_columns À <mon utilisateur souhaité>;
geekQ

1
Vous pouvez également exécuter SELECT postgis_full_version();ensuite pour vérifier qu'une base de données est spatialement activée.
XåpplI'-I0llwlg'I -
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.