Antecedentes: estoy "construyendo" un SIG con PostgreSQL 9.2.4 / PostGIS 2 como la base de datos y QGIS 1.8.0 como la aplicación geográfica. Habrá múltiples usuarios accediendo, editando y viendo los datos al mismo tiempo.
Pregunta:
- ¿La edición de versiones se aplica automáticamente en PostgreSQL 9.2.4 / PostGIS 2?
- ¿Es posible habilitar / aplicar la edición de versiones y, en caso afirmativo, cómo?
He echado un vistazo a pgVersion para PostgreSQL 9.2.4 / PostGIS 2 y el complemento QGIS pgVersion. Sin embargo, si entiendo correctamente (leer los archivos de ayuda y probarlo), pgVersion solo permite editar los valores de celda de las columnas existentes y tampoco se pueden agregar nuevas características geográficas.
qgis
postgis
editing
versioning
PyMapr
fuente
fuente
Respuestas:
Sí , parece que PostgreSQL / PostGIS permite que varios usuarios editen y vean los mismos datos al mismo tiempo automáticamente, ya sea que se vean o editen en PostgreSQL / PostGIS o QGIS. Sin embargo, si no se maneja adecuadamente, esto, aparentemente, puede resultar en características superpuestas y / o corruptas.
Aquí están los enlaces de los cuales saqué mis conclusiones:
Tenga en cuenta que la pregunta y las respuestas en los enlaces anteriores se hicieron / respondieron hace aproximadamente 5 años, lo que significa que apuntan a versiones anteriores del programa. Sin embargo, no puedo imaginar que las versiones más recientes de PostgreSQL / PostGIS no admitan la edición multiusuario (incluso podrían haberse mejorado).
Actualización: Para aquellos que usan QGIS 1.8.0, en la pestaña 'Tabla' en DB Manager hay una opción de Control de versiones. Sin embargo, sigo recibiendo un error que dice "el lenguaje" SQL "no existe". ¿Alguna sugerencia sobre cómo omitir o corregir este error? ¿Alguien más tiene el mismo problema / error?
fuente
Definitivamente sí, puede realizar el control de versiones mediante el uso de disparadores http://www.postgresql.org/docs/9.1/static/triggers.html en tablas geográficas.
Utilizo este enfoque para guardar datos temporales para poder emitir consultas que crearían una instantánea de los registros en un momento dado.
La edición de versiones no se aplica por lo que sé.
Sí, esto puede ser compatible. Habrá varias respuestas basadas en las necesidades del usuario. Como ejemplo simple, puede usar el http://www.pgadmin.org/docs/1.16/pgagent.html y programar un trabajo para copiar datos en vivo a una tabla versionada en una ventana diaria.
O puede usar una tabla sombreada que registre ediciones de registros cuando ocurran esos eventos.
Postgresql tiene todos los recursos que necesita para hacer eso, pero necesitará habilidades con el lenguaje SQL.
fuente
Si está utilizando Qgis, hay un complemento para el control de versiones utilizando una base de datos postgres https://plugins.qgis.org/plugins/FastVersion/ El complemento también permite administrar los permisos de los usuarios en las versiones. Puede configurar un usuario por versión y luego consolidar los cambios en una sola versión, con la función de publicación.
fuente