ver usuarios uso una todas tablas tabla relaciones postgres mostrar listar las esquemas esquema datos como campos sql postgresql information-schema

usuarios - uso de esquemas en postgresql



Listar todas las tablas en postgresql information_schema (7)

¿Cuál es la mejor manera de enumerar todas las tablas dentro del esquema de información de PostgreSQL?

Para aclarar: estoy trabajando con un DB vacío (no he agregado ninguna de mis propias tablas), pero quiero ver todas las tablas en la estructura del esquema de información.


El COMANDO "/ z" también es una buena forma de listar tablas cuando está dentro de la sesión psql interactiva.

p.ej.

# psql -d mcdb -U admin -p 5555 mcdb=# /z Access privileges for database "mcdb" Schema | Name | Type | Access privileges --------+--------------------------------+----------+--------------------------------------- public | activities | table | public | activities_id_seq | sequence | public | activities_users_mapping | table | [..] public | v_schedules_2 | view | {admin=arwdxt/admin,viewuser=r/admin} public | v_systems | view | public | vapp_backups | table | public | vm_client | table | public | vm_datastore | table | public | vmentity_hle_map | table | (148 rows)


Para el esquema privado ''xxx'' en postgresql:

SELECT table_name FROM information_schema.tables WHERE table_schema = ''xxx'' AND table_type = ''BASE TABLE''

Sin table_type = ''BASE TABLE'' , enumerará tablas y vistas


Para enumerar sus tablas use:

SELECT table_name FROM information_schema.tables WHERE table_schema=''public''

Solo mostrará las tablas que cree.


Puede usar también

select * from pg_tables where schemaname = ''information_schema''

En generall, las tablas pg * le permiten ver todo en el archivo db, no limitado a sus permisos (si tiene acceso a las tablas, por supuesto).


Si quieres una consulta rápida y sucia de una sola línea:

select * from information_schema.tables

Puede ejecutarlo directamente en la herramienta de consulta sin tener que abrir psql.

(Otras publicaciones sugieren consultas más agradables de información_esquíes pero, como novedad, encuentro que esta consulta de una sola línea me ayuda a familiarizarme con la tabla)


Debería poder ejecutar select * from information_schema.tables para obtener una lista de todas las tablas administradas por Postgres para una base de datos en particular.

También puede agregar un where table_schema = ''information_schema'' para ver solo las tablas en el esquema de información.


/dt information_schema.

desde dentro de psql, debería estar bien.