Edition de version pour Postgresql 9.2.4 / postGIS 2


8

Contexte: Je "construis" un SIG avec PostgreSQL 9.2.4 / PostGIS 2 comme base de données et QGIS 1.8.0 comme application géographique. Plusieurs utilisateurs accéderont, modifieront et afficheront les données en même temps.

Question:

  1. L'édition de version est-elle automatiquement appliquée dans PostgreSQL 9.2.4 / PostGIS 2?
  2. Est-il possible d'activer / forcer l'édition de version et si oui comment?

J'ai jeté un œil à pgVersion pour PostgreSQL 9.2.4 / PostGIS 2 et au plugin QGIS pgVersion. Cependant, si je comprends bien (lire les fichiers d'aide et les tester), pgVersion ne permet que la modification des valeurs des cellules des colonnes existantes et aucune nouvelle entité géographique ne peut être ajoutée.


PostgreSQL utilise Slony pour la réplication ... Je ne l'ai pas encore essayé, il devrait également s'appliquer aux fonctionnalités PostGIS ...
DPSSpatial

3
Voulez-vous prendre en charge l'édition de version avec quelque chose de similaire à la version ESRI ou simplement avoir plusieurs éditeurs éditant la même base de données? Ce dernier fonctionne, le premier nécessite une infrastructure qui est toujours en cours dans l'arène open source. J'ai moi-même écrit un système de versioning au-dessus de postgis pour notre travail dans AmigoCloud. GeoGit se rapproche le plus de quelque chose de similaire, mais il a ses inconvénients pour certains workflows.
Ragi Yaser Burhum le

Je préfère le versioning similaire au versioning ESRI. Cependant, ma base de données ne sera qu'un prototype, donc pour l'instant, le fait d'avoir plusieurs éditeurs éditant la même base de données sera suffisant. Aura également un aperçu de GeoGit.
PyMapr

Je me demande si @PaulRamsey a quelque chose à faire à ce sujet?
RyanKDalton

Ou peut-être que @ LR1234567 pourrait avoir des idées?
RyanKDalton

Réponses:


1

Oui, il semble que PostgreSQL / PostGIS permette à plusieurs utilisateurs de modifier et d'afficher automatiquement les mêmes données en même temps, qu'elles soient affichées ou modifiées dans PostgreSQL / PostGIS ou QGIS. Cependant, s'il n'est pas correctement géré, cela peut entraîner des chevauchements et / ou des fonctionnalités corrompues.

Voici les liens à partir desquels j'ai tiré mes conclusions:

Veuillez noter que les questions et réponses dans les liens ci-dessus ont été posées / répondues il y a environ 5 ans, ce qui signifie qu'elles pointent vers des versions antérieures du programme. Cependant, je ne peux pas imaginer que les nouvelles versions de PostgreSQL / PostGIS ne prennent pas en charge l'édition multi-utilisateurs (elles auraient même pu être améliorées).

Mise à jour: Pour ceux qui utilisent QGIS 1.8.0, sous l'onglet 'Table' dans DB Manager, il y a une option de versioning. Cependant, je continue à recevoir une erreur indiquant que le langage "SQL" n'existe pas. '. Des suggestions sur la façon de contourner ou de corriger cette erreur? Quelqu'un d'autre a-t-il le même problème / erreur?


1

Certainement oui, vous pouvez faire du versioning en utilisant des déclencheurs http://www.postgresql.org/docs/9.1/static/triggers.html sur les tables géographiques.

J'utilise cette approche pour enregistrer des données temporelles afin de pouvoir émettre des requêtes qui créeraient un instantané des enregistrements à un moment donné.

  1. L'édition des versions n'est pas appliquée par ce que je sais.

  2. Oui, cela peut être pris en charge. Il y aura plusieurs réponses en fonction des besoins des utilisateurs. Vous pouvez utiliser http://www.pgadmin.org/docs/1.16/pgagent.html et planifier un travail pour copier des données en direct dans une table versionnée sur une fenêtre quotidienne comme exemple simple.

Ou vous pouvez utiliser une table ombrée qui enregistre les modifications des enregistrements lorsque ces événements se produisent.

Postgresql possède toutes les ressources dont vous avez besoin pour cela, mais vous aurez besoin de compétences en langage SQL.


1

Si vous utilisez Qgis, il existe un plugin pour le contrôle de version à l'aide d'une base de données postgres https://plugins.qgis.org/plugins/FastVersion/ Le plugin permet également d'administrer les autorisations des utilisateurs sur les versions. Vous pouvez définir un utilisateur par version, puis consolider les modifications dans une seule version, avec la fonction de publication.

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.