Postgresql 9.2.4 / postGIS 2のバージョン編集


8

背景: データベースとしてPostgreSQL 9.2.4 / PostGIS 2、地理アプリケーションとしてQGIS 1.8.0を使用してGISを「構築」しています。複数のユーザーが同時にデータにアクセス、編集、および表示します。

質問:

  1. PostgreSQL 9.2.4 / PostGIS 2ではバージョン編集が自動的に適用されますか?
  2. バージョン編集を有効化/強制することは可能ですか?

PostgreSQL 9.2.4 / PostGIS 2のpgVersionとQGIS pgVersionプラグインを確認しました。ただし、私が正しく理解している場合(ヘルプファイルを読んでテストする場合)、pgVersionは既存の列のセル値の編集のみを許可し、新しい地理的特徴を追加することもできません。


PostgreSQLはレプリケーションにSlonyを使用します...まだ試していません
。PostGIS

3
ESRIバージョン管理に似たバージョン編集をサポートしたいですか、それとも同じデータベースを複数のエディターで編集したいですか?後者は機能するだけで、前者はオープンソースの分野でまだ機能しているインフラストラクチャを必要とします。私自身、AmigoCloudでの作業のためにpostgisの上にバージョン管理システムを作成しました。類似したものに最も近いものはGeoGitですが、特定のワークフローには欠点があります。
Ragi Yaser Burhum 2013

ESRIのバージョン管理と同様のバージョン管理を希望します。ただし、私のデータベースはプロトタイプにすぎないため、現時点では、複数の編集者が同じデータベースを編集するだけで十分です。GeoGitも見ていきます。
PyMapr 2013

@PaulRamseyは、この問題について彼らがチャイムできる何かを持っているのだろうか?
RyanKDalton 2013

あるいは、@ LR1234567にいくつかのアイデアがあるかもしれませんか?
RyanKDalton 2013

回答:


1

はい、PostgreSQL / PostGISでは、PostgreSQL / PostGISまたはQGISのどちらで表示または編集しても、複数のユーザーが同じデータを同時に自動的に編集および表示できるようです。ただし、これを適切に管理しないと、機能が重複したり破損したりする可能性があります。

ここに私が私の結論を出したリンクがあります:

上記のリンクにある質問と回答は、約5年前に質問/回答されたものであり、以前のバージョンのプログラムを指していることに注意してください。ただし、PostgreSQL / PostGISの新しいバージョンがマルチユーザー編集をサポートしていないとは思えません(拡張されている可能性もあります)。

更新:QGIS 1.8.0を使用している場合は、DBマネージャーの[テーブル]タブの下にバージョン管理オプションがあります。しかし、「言語「SQL」は存在しません。」というエラーが表示され続けます。このエラーを回避または修正する方法に関する提案はありますか?他の誰かが同じ問題/エラーを抱えていますか?


1

確かにそうです。地理的なテーブルでトリガーhttp://www.postgresql.org/docs/9.1/static/triggers.htmlを使用してバージョン管理を行うことができます。

このアプローチを使用して一時データを保存しているため、特定の時間にレコードのスナップショットを作成するクエリを発行できます。

  1. バージョン管理の編集は、私が知っていることによって強制されていません。

  2. はい、サポートできます。ユーザーのニーズに基づいていくつかの応答があります。簡単な例として、http://www.pgadmin.org/docs/1.16/pgagent.htmlを使用して、毎日のウィンドウでバージョン管理されたテーブルにライブデータをコピーするジョブをスケジュールできます。

または、これらのイベントが発生したときにレコードの編集を記録するシャドウテーブルを使用することもできます。

Postgresqlには、そのために必要なすべてのリソースがありますが、SQL言語のスキルが必要になります。


1

Qgisを使用している場合は、postgresデータベースを使用したバージョニング用 のプラグインがあります。https://plugins.qgis.org/plugins/FastVersion/このプラグインでは、バージョンのユーザー権限を管理することもできます。バージョンごとに1人のユーザーを設定し、post関数を使用して変更を1つのバージョンのみに統合できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.