¿Seleccionar solo tablas espaciales de la base de datos PostgreSQL?


10

Mi base de datos contiene tablas espaciales y no espaciales, pero quiero recuperar solo la tabla espacial de la consulta.

Cualquier sugerencia para seleccionar solo tablas espaciales. 'the_geom' es la columna de geometría en la tabla espacial.

De lo contrario, ¿es posible seleccionar tablas de su nombre de columna?

Lo intenté con este código select relname from pg_stat_user_tables WHERE schemaname='public'; pero de esto obtenemos todos los nombres de tablas.

Respuestas:


16

Todas las referencias de tablas espaciales se mantienen en la tabla de metadatos geometry_columns. Entonces intenta:

select * from geometry_columns

y deberías obtener solo las tablas espaciales


Muchas gracias ... Creo que me he perdido una cosa simple
Kishor

2
Tengo otro código, SELECT table_name FROM information_schema.columns WHERE column_name = 'the_geom'
Kishor

yip- ese es el camino largo :-)
mapoholic

Sí, tienes razón.
Kishor

@kishor, debe agregar su comentario como una "respuesta", para que la gente también lo vea como una opción, incluso si se ha establecido que la respuesta de mapoholic puede ser el método preferido.
RyanKDalton

2

Camino corto

select * from geometry_columns

Manera más profunda

SELECT table_name FROM information_schema.columns WHERE column_name = 'the_geom' or column_name = 'wkb_geometry'

La segunda opción debería funcionar incluso si se ha eliminado la información de geometry_columns. 'Wkb_geometry' es el nombre predeterminado de las columnas de datos de geometría si utilizó la herramienta ogr2ogr para alimentar su base de datos.


2

Otra para seleccionar solo tablas espaciales en la base de datos.

SELECT table_name FROM information_schema.columns WHERE column_name = 'the_geom'`

Usando este código también podemos recuperar información de la tabla al conocer su nombre de columna.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.