6 votos

Herramientas de digitalización avanzada con vistas PostgreSQL en QGIS

Tengo una base de datos PostgreSQL a la que acceden varios usuarios y cada uno de ellos tiene diferentes niveles de privilegios sobre tablas y vistas. Para insertar/actualizar/borrar características, los usuarios tienen que trabajar en QGIS.

Vayamos al problema.

He creado una vista sobre datos MultiLineString. Cuando utilizo las herramientas básicas de edición como añadir característica, herramienta de nodo, herramienta de eliminación y mover característica, todo funciona bien y las ediciones se guardan con éxito. Pero cuando utilizo herramientas de edición avanzadas como dividir característica, fusionar características me da un comportamiento extraño. Cuando divido una cadena de líneas y guardo las ediciones, uno de los segmentos divididos desaparece. Cuando fusiono dos segmentos y guardo las ediciones, el segmento fusionado desaparece.

He probado las herramientas de edición avanzada, es decir, dividir y fusionar, en la tabla a partir de la cual se crea la vista anterior y todo funciona bien, puedo guardar las características fusionadas y divididas.

Versión: PostgreSQL 9.5 y QGIS 2.18.2

4voto

user51710 Puntos 641

Un enfoque de este problema podría ser que usted puede implementar Seguridad a nivel de fila en su mesa en función de los usuarios y de sus propios criterios. De su problema parece que al dividir y fusionar la nueva geometría sería obtenida por el QGIS, y es incapaz de insertar de nuevo esa geometría porque usted está obteniendo datos de la vista. Usando la seguridad a nivel de fila, también podrías evitar el paso de creación de la vista que parece ser innecesario.

También puede obtener una guía sobre la política de nivel de fila en la tabla para PostgreSQL desde https://www.postgresql.org/docs/9.5/static/ddl-rowsecurity.html

0 votos

¿No fallaría también el Insert (el OP dice que funciona)?

0 votos

Pero puede utilizar el valor por defecto si se basa en el usuario a current_user, o algún disparador para la función personalizada.

0 votos

Acepto esto como la mejor respuesta alternativa, pero todavía estoy interesado en la solución para el problema anterior, utilizando vistas.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X