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:
- L'édition de version est-elle automatiquement appliquée dans PostgreSQL 9.2.4 / PostGIS 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.
qgis
postgis
editing
versioning
PyMapr
la source
la source
Réponses:
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?
la source
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é.
L'édition des versions n'est pas appliquée par ce que je sais.
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.
la source
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.
la source