Versionsbearbeitung für Postgresql 9.2.4 / postGIS 2

8

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:

  1. Wird die Versionsbearbeitung in PostgreSQL 9.2.4 / PostGIS 2 automatisch erzwungen?
  2. 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.

PyMapr
quelle
PostgreSQL verwendet Slony für die Replikation ... Ich habe es noch nicht ausprobiert, es sollte auch für PostGIS-Funktionen gelten ...
DPSSpatial
3
Möchten Sie die Versionsbearbeitung mit etwas ähnlichem wie der ESRI-Versionierung unterstützen oder nur mehrere Editoren haben, die dieselbe Datenbank bearbeiten? Letzteres funktioniert einfach, Ersteres erfordert eine Infrastruktur, die im Open-Source-Bereich noch in Arbeit ist. Ich selbst habe über Postgis ein Versionsverwaltungssystem für unsere Arbeit in AmigoCloud geschrieben. GeoGit kommt dem Ähnlichen am nächsten, hat jedoch für bestimmte Workflows Nachteile.
Ragi Yaser Burhum
Ich würde eine ähnliche Versionierung wie die ESRI-Versionierung bevorzugen. Meine Datenbank wird jedoch nur ein Prototyp sein, sodass es vorerst ausreichend ist, wenn nur mehrere Editoren dieselbe Datenbank bearbeiten. Werde auch einen Blick auf GeoGit werfen.
PyMapr
Ich frage mich, ob @PaulRamsey irgendetwas hat, was sie zu diesem Thema sagen könnten.
RyanKDalton
Oder vielleicht @ LR1234567 könnte einige Ideen haben?
RyanKDalton

Antworten:

1

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?

PyMapr
quelle
1

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.

  1. Die Bearbeitung der Versionierung wird von dem, was ich weiß, nicht erzwungen.

  2. 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.

Cavila
quelle
1

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.

Alfredo Garcia
quelle