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:
- Apakah pengeditan versi diberlakukan secara otomatis dalam PostgreSQL 9.2.4 / PostGIS 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.
qgis
postgis
editing
versioning
PyMapr
sumber
sumber
Jawaban:
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?
sumber
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.
Pengeditan versi tidak didukung oleh apa yang saya ketahui.
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.
sumber
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.
sumber