Pengeditan versi untuk Postgresql 9.2.4 / postGIS 2

8

Latar Belakang: Saya "membangun" GIS dengan PostgreSQL 9.2.4 / PostGIS 2 sebagai basis data dan QGIS 1.8.0 sebagai aplikasi geografis. Akan ada banyak pengguna yang mengakses, mengedit, dan melihat data pada saat yang bersamaan.

Pertanyaan:

  1. Apakah pengeditan versi diberlakukan secara otomatis dalam PostgreSQL 9.2.4 / PostGIS 2?
  2. Apakah mungkin untuk mengaktifkan / menegakkan pengeditan versi dan jika ya, bagaimana?

Saya telah melihat pgVersion untuk PostgreSQL 9.2.4 / PostGIS 2 dan plugin pGVersion QGIS. Namun, jika saya mengerti dengan benar (membaca file bantuan dan mengujinya), pgVersion hanya memungkinkan pengeditan nilai sel kolom yang ada dan juga tidak ada fitur geografis baru yang dapat ditambahkan.

PyMapr
sumber
PostgreSQL menggunakan Slony untuk replikasi ... Saya belum mencobanya, itu harus berlaku untuk fitur PostGIS juga ...
DPSSpatial
3
Apakah Anda ingin mendukung pengeditan versi dengan sesuatu yang mirip dengan versi ESRI atau hanya memiliki beberapa editor pengeditan db yang sama? Yang terakhir hanya berfungsi, yang pertama membutuhkan infrastruktur yang masih dalam pengerjaan di arena open source. Saya sendiri menulis sistem versi di atas postgis untuk pekerjaan kami di AmigoCloud. Yang paling dekat dengan sesuatu yang serupa adalah GeoGit, tetapi memiliki kelemahan untuk alur kerja tertentu.
Ragi Yaser Burhum
Saya lebih suka versi yang mirip dengan versi ESRI. Namun, database saya hanya akan menjadi prototipe, jadi untuk saat ini hanya memiliki beberapa editor mengedit database yang sama akan memadai. Juga akan melihat GeoGit.
PyMapr
Saya bertanya-tanya apakah @PaulRamsey memiliki sesuatu yang bisa mereka ikuti dalam masalah ini?
RyanKDalton
Atau mungkin @ LR1234567 mungkin punya ide?
RyanKDalton

Jawaban:

1

Ya , tampaknya PostgreSQL / PostGIS memungkinkan beberapa pengguna untuk mengedit dan melihat data yang sama secara otomatis, baik dilihat atau diedit di PostgreSQL / PostGIS atau QGIS. Namun, jika tidak dikelola dengan benar, ini dapat menyebabkan fitur yang tumpang tindih dan / atau rusak.

Berikut adalah tautan dari mana saya membuat kesimpulan:

Harap dicatat bahwa pertanyaan dan jawaban dalam tautan di atas ditanyakan / dijawab sekitar 5 tahun yang lalu, yang berarti mereka menunjuk ke versi program sebelumnya. Namun, saya tidak dapat membayangkan versi terbaru PostgreSQL / PostGIS tidak mendukung pengeditan multi-pengguna (bahkan mungkin telah ditingkatkan).

Pembaruan: Bagi mereka yang menggunakan QGIS 1.8.0, di bawah tab 'Table' di DB Manager ada opsi Versioning. Namun, saya terus mendapatkan kesalahan yang menyatakan 'bahasa "SQL" tidak ada.'. Ada saran tentang cara mem-bypass atau memperbaiki kesalahan ini? Apakah ada orang lain yang memiliki masalah / kesalahan yang sama?

PyMapr
sumber
1

Jelas ya, Anda dapat melakukan versi dengan menggunakan pemicu http://www.postgresql.org/docs/9.1/static/triggers.html pada tabel geografis.

Saya menggunakan pendekatan ini untuk menyimpan data temporal sehingga saya bisa mengeluarkan pertanyaan yang akan membuat snapshot catatan pada waktu tertentu.

  1. Pengeditan versi tidak didukung oleh apa yang saya ketahui.

  2. Ya, ini bisa didukung. Akan ada beberapa tanggapan berdasarkan kebutuhan pengguna. Anda dapat menggunakan http://www.pgadmin.org/docs/1.16/pgagent.html dan menjadwalkan pekerjaan untuk menyalin data langsung ke tabel berversi di jendela harian sebagai contoh sederhana.

Atau Anda bisa menggunakan tabel gelap yang merekam pengeditan catatan saat peristiwa itu terjadi.

Postgresql memiliki semua sumber daya yang perlu Anda lakukan tetapi Anda akan memerlukan keterampilan dengan bahasa SQL.

cavila
sumber
1

Jika Anda menggunakan Qgis, ada plugin untuk versi menggunakan database postgres https://plugins.qgis.org/plugins/FastVersion/ Plugin ini juga memungkinkan untuk mengatur izin pengguna pada versi. Anda dapat mengatur satu pengguna per versi, dan kemudian mengkonsolidasikan perubahan hanya dalam satu versi, dengan fungsi posting.

Alfredo Garcia
sumber