J'aimerais créer une nouvelle base de données dans PostGIS, afin de pouvoir y charger des éléments pendant que la base de données actuelle est utilisée. Selon les documents
Certaines distributions packagées de PostGIS (en particulier les programmes d'installation Win32 pour PostGIS> = 1.1.5) chargent les fonctions PostGIS dans une base de données de modèles appelée template_postgis. Si la base de données template_postgis existe dans votre installation PostgreSQL, il est possible pour les utilisateurs et / ou les applications de créer des bases de données spatiales à l'aide d'une seule commande.
Dans mon cas, cela ne semble pas être le cas:
$ createdb -T template_postgis my_spatial_db
createdb: database creation failed: ERROR: template database "template_postgis" does not exist
Dans le passé, je me suis amusé à copier la gis
base de données principale , puis à supprimer le contenu de toutes les tables. Il doit y avoir un meilleur moyen. Que faites-vous si vous le laissez tomber accidentellement?
la source
Réponses:
Je ne sais pas quelle version de
PostGIS
vous utilisez mais sur>2.0
Je me connecte en premier en utilisantpsql
:psql -U postgres
Ensuite, je crée une base de données:
CREATE DATABASE example_gis;
Je passe ensuite dans cette base de données:
\connect example_gis;
Et puis je lance la recommandation:
CREATE EXTENSION postgis;
Cela crée toutes les fonctions spatiales et les types d'objets dans cette base de données.
la source
CREATE EXTENSION POSTGIS
plutôt queCREATE EXTENSION postgis
.Après le lien de @ novicegis, cela a fonctionné pour moi avec postgis 1.5:
(Les instructions liées n'incluaient pas l'extension «hstore».)
la source
Vous devez créer "template_postgis" dans la console. Toutes les erreurs sont affichées dans la console.
Vous pouvez utiliser ces instructions: http://linfiniti.com/2012/05/installing-postgis-2-0-on-ubuntu/ si vous souhaitez créer "template_postgis".
Par exemple, je fais:
J'ai reçu ce message lorsque j'ai installé postgis avec des erreurs
la source