11 votos

Cómo seleccionar las tablas Espaciales de la base de datos postgres?

Mi base de datos contiene tanto Espacial y No Espacial de las tablas, pero quiero recuperar sólo tabla Espacial de la consulta.

Cualquier sugerencia para seleccionar sólo las tablas Espaciales. 'the_geom' es la geometría de la columna en la tabla espacial.

De lo contrario, es posible seleccionar las tablas a partir de su nombre de columna.

He probado con este código select relname from pg_stat_user_tables WHERE schemaname='public' ; pero de esto podemos obtener todos los nombres de tabla.

Gracias de antemano..

19voto

Rafael Almeida Puntos 141

Todos espacial de la tabla de referencias se celebró en el geometry_columns tabla de metadatos. Así que trate de:

select * from geometry_columns

y usted debe obtener las tablas espaciales

3voto

bn. Puntos 148

Otro para seleccionar sólo las tablas espaciales en la base de datos..

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

El uso de este código también podemos recuperar información de tabla por saber su nombre de columna.

2voto

Guillaume Puntos 683

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 la información de geometry_columns han sido eliminados. El 'wkb_geometry' es el nombre predeterminado de la geometría de las columnas de datos si se utiliza ogr2ogr herramienta para alimentar su base de datos.

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