Suite

Exporter la base de données postgis

Exporter la base de données postgis


Je suis totalement nouveau dans le monde génial de PostGIS, donc désolé pour la question peut-être idiote.

Après un certain temps, j'ai pu installer postgres et postgis sur mon ordinateur (test debian) et j'ai également pu créer des bases de données.

Grâce au gestionnaire de bases de données de QGIS, j'ai importé un fichier de formes dans la base de données et c'est ok.

Mais maintenant, si je veux exporter l'intégralité de la base de données postgis en un seul fichier (comme le fait SpatiaLite), comment puis-je le faire ? Je veux dire, Spatialite crée un réel fichier dans un répertoire alors que postgis no (ou du moins je ne l'ai pas trouvé).

Merci les gars et désolé pour la simple question


Extrait du manuel : vous pouvez exporter une base de données PostgreSQL vers un fichier en utilisant le programme de ligne de commande pg_dump, ou vous pouvez utiliser phpPgAdmin

pg_dump -U USERNAME DBNAME > dbexport.pgsql

http://www.a2hosting.com/kb/developer-corner/postgresql/import-and-export-a-postgresql-database


Jetez un œil aux schémas Postgres (qui sont très faciles à utiliser)

Il est généralement recommandé d'utiliser un schéma différent du schéma public par défaut. La raison en est que lorsque vous exportez la base de données, vous obtenez tous les objets, fonctions, tables, etc. PostGis qui y sont installés.

Ce que je fais, c'est que je crée un schéma dans la base de données, disons "données"

créer des données de schéma ;

J'ai ensuite défini ce schéma comme valeur par défaut en utilisant le

modifier la base de données "mydb" set search_path=data,public;

Il n'est pas absolument nécessaire de définir le chemin de recherche, vous pouvez utiliser la référence à la table en tant que schema.table

data.mytable

dans tous vos noms de table, mais l'utilisation de la valeur par défaut signifie que vous pouvez déplacer des données entre les schémas et une simple commande SQL bascule entre eux, idéal pour mettre à niveau les données de production, etc.

Lorsque vous exportez la base de données, exportez simplement ce schéma particulier en utilisant pg_dump avec

--schema=nom du schéma

Si vous avez un tas de tables à déplacer entre les schémas, vous pouvez utiliser le code SQL suivant

créer des données de schéma ; modifier la base de données "**DBNAME**" set search_path=data,public ; DO $$ DECLARE enregistrement de ligne ; BEGIN FOR row IN SELECT tablename FROM pg_tables WHERE schemaname = 'public' -- et d'autres conditions, si nécessaire LOOP EXECUTE 'ALTER TABLE public.' || quote_ident(row.tablename) || ' SET SCHEMA data;'; FIN DE BOUCLE ; FINIR; $$;

Lorsque vous restaurez dans une autre base de données, restaurez-la dans un schéma autre que public, de cette façon, vous n'aurez jamais de conflits avec les objets du schéma public et cela facilite la sauvegarde et le déplacement de vos données spatiales.


Voir la vidéo: Venez on passe une journée dans la vie dune fermière? Les Sims 4 Vie à la Campagne