QGIS ¡No hay entrada en geometry_columns!

8

En PostgreSQL v9.3 con extensiones PostGIS v2.1 creé una vista desde dos tablas (sitios y visitas). La tabla de sitio contenía una columna de geometría de punto (the_geom), que se incluyó en la vista creada. Al verificar la vista de tabla, contenía la información esperada.

En QGIS v2.4 que se ejecuta en Windows 8.1, la tabla de sitios que contiene la columna de geometría se puede agregar como una capa. Sin embargo, cuando mira la tabla de vista creada en el Administrador de DB, dice:

PostGIS

Columna: the_geom Geometría: GEOMETRÍA Dimensión: 2 Extensión: 482350.00000, 132750.00000 - 538750.00000, 177150.00000

 ¡No hay entrada en geometry_columns!

La pestaña de la tabla muestra el contenido de la tabla como se esperaba, y la vista previa muestra los puntos que parecen razonables. El icono de la tabla de vista se muestra como un signo de interrogación.

Cuando se creó la vista por primera vez, no se pudo agregar como una capa al mapa. Sin embargo, reiniciar mi computadora ha permitido que la vista se agregue como una capa al mapa.

Dos preguntas:

  1. ¿Qué significa el mensaje de error y cómo lo elimino?
  2. ¿Por qué necesitaba reiniciar mi computadora para agregar la tabla de vista al mapa?
Harry
fuente

Respuestas:

10

Así que me encontré con este problema exacto y formulé las mismas preguntas. No estoy seguro acerca de la pregunta número 2, aparte del presentimiento de que el servidor tuvo que reiniciarse para registrar los tipos de datos sin aplicar las restricciones PostGIS (falta la columna geometry_ y todo).

Encontré esta publicación, que funcionaba en mis tablas que tenían exactamente los mismos signos de interrogación y errores que la suya. Ejecuté esto con éxito:

WITH
t AS (SELECT table_schema, table_name
                FROM information_schema.tables
                WHERE table_schema = 'public' AND table_type = 'BASE TABLE')
SELECT Populate_Geometry_Columns((table_schema::text || '.' || table_name::text)::regclass) FROM t;

Las tablas se registran con sus restricciones espaciales de manera adecuada, por lo que todo es agradable y limpio.

Sam
fuente