Hintergrund: Ich "erstelle" ein GIS mit PostgreSQL 9.2.4 / PostGIS 2 als Datenbank und QGIS 1.8.0 als geografische Anwendung. Es werden mehrere Benutzer gleichzeitig auf die Daten zugreifen, sie bearbeiten und anzeigen.
Frage:
- Wird die Versionsbearbeitung in PostgreSQL 9.2.4 / PostGIS 2 automatisch erzwungen?
- Ist es möglich, die Versionsbearbeitung zu aktivieren / erzwingen und wenn ja, wie?
Ich habe mir pgVersion für PostgreSQL 9.2.4 / PostGIS 2 und das QGIS pgVersion-Plugin angesehen. Wenn ich es jedoch richtig verstehe (die Hilfedateien lesen und testen), ermöglicht pgVersion nur das Bearbeiten von Zellenwerten vorhandener Spalten, und es können auch keine neuen geografischen Funktionen hinzugefügt werden.
qgis
postgis
editing
versioning
PyMapr
quelle
quelle
Antworten:
Ja, es scheint, dass PostgreSQL / PostGIS es mehreren Benutzern ermöglicht, dieselben Daten gleichzeitig automatisch zu bearbeiten und anzuzeigen, unabhängig davon, ob sie in PostgreSQL / PostGIS oder QGIS angezeigt oder bearbeitet werden. Wenn dies jedoch nicht ordnungsgemäß verwaltet wird, kann dies anscheinend zu überlappenden und / oder beschädigten Funktionen führen.
Hier sind die Links, aus denen ich meine Schlussfolgerungen gezogen habe:
Bitte beachten Sie, dass die Fragen und Antworten in den obigen Links vor ungefähr 5 Jahren gestellt / beantwortet wurden, was bedeutet, dass sie auf frühere Programmversionen verweisen. Ich kann mir jedoch nicht vorstellen, dass die neueren Versionen von PostgreSQL / PostGIS keine Mehrbenutzer-Bearbeitung unterstützen (möglicherweise sogar verbessert wurden).
Update: Für Benutzer von QGIS 1.8.0 gibt es unter der Registerkarte 'Tabelle' in DB Manager eine Versionierungsoption. Es wird jedoch immer wieder ein Fehler angezeigt, der besagt, dass die Sprache "SQL" nicht vorhanden ist. Irgendwelche Vorschläge, wie man diesen Fehler umgeht oder behebt? Hat jemand das gleiche Problem / den gleichen Fehler?
quelle
Auf jeden Fall können Sie die Versionierung mithilfe von Triggern http://www.postgresql.org/docs/9.1/static/triggers.html für geografische Tabellen durchführen.
Ich verwende diesen Ansatz, um zeitliche Daten zu speichern, damit ich Abfragen ausgeben kann, die zu einem bestimmten Zeitpunkt eine Momentaufnahme der Datensätze erstellen.
Die Bearbeitung der Versionierung wird von dem, was ich weiß, nicht erzwungen.
Ja, dies kann unterstützt werden. Je nach den Anforderungen des Benutzers wird es mehrere Antworten geben. Sie können http://www.pgadmin.org/docs/1.16/pgagent.html verwenden und als einfaches Beispiel einen Job zum Kopieren von Live-Daten in eine versionierte Tabelle in einem täglichen Fenster planen.
Sie können auch eine schattierte Tabelle verwenden, in der Änderungen von Datensätzen aufgezeichnet werden, wenn diese Ereignisse eintreten.
Postgresql verfügt über alle Ressourcen, die Sie dazu benötigen, aber Sie benötigen Kenntnisse in der SQL-Sprache.
quelle
Wenn Sie Qgis verwenden, gibt es ein Plugin für die Versionierung mithilfe einer Postgres-Datenbank https://plugins.qgis.org/plugins/FastVersion/. Das Plugin ermöglicht auch die Verwaltung von Benutzerberechtigungen für die Versionen. Sie können einen Benutzer pro Version festlegen und dann die Änderungen mit der Post-Funktion in nur einer Version konsolidieren.
quelle