ver usuarios una tablas tabla seleccionar postgres listar esquemas esquema datos consola comandos campos cambiar básicos postgresql postgresql-9.1 psql

postgresql - usuarios - seleccionar db en postgres



Listar tablas en un esquema PostgreSQL (4)

Cuando hago un /dt en psql, solo obtengo una lista de tablas en el esquema actual ( public por defecto).

¿Cómo puedo obtener una lista de todas las tablas en todos los esquemas o un esquema en particular?


Alternativamente a information_schema es posible usar pg_tables :

select * from pg_tables where schemaname=''public'';


En todos los esquemas:

=> /dt *.*

En un esquema particular:

=> /dt public.*

Es posible usar expresiones regulares con algunas restricciones.

/dt (public|s).(s|t) List of relations Schema | Name | Type | Owner --------+------+-------+------- public | s | table | cpn public | t | table | cpn s | t | table | cpn

Los usuarios avanzados pueden usar notaciones de expresiones regulares, como clases de caracteres, por ejemplo [0-9] para hacer coincidir cualquier dígito. Todos los caracteres especiales de expresiones regulares funcionan como se especifica en la Sección 9.7.3, a excepción de. que se toma como separador como se mencionó anteriormente, * que se traduce a la notación de expresión regular. ,? que se traduce a., y $ que se empareja literalmente. ¿Puedes emular estos caracteres de patrón en la necesidad escribiendo? para., (R + |) para R , o (R |) para R ?. $ no es necesario como un carácter de expresión regular ya que el patrón debe coincidir con el nombre completo, a diferencia de la interpretación habitual de las expresiones regulares (en otras palabras, $ se agrega automáticamente a su patrón). Escriba * al principio y / o al final si no desea que el patrón esté anclado. Tenga en cuenta que dentro de las comillas dobles, todos los caracteres especiales de expresiones regulares pierden sus significados especiales y se comparan literalmente. Además, los caracteres especiales de expresiones regulares se hacen coincidir literalmente en los patrones de nombre del operador (es decir, el argumento de / do).


Para aquellos que se encuentren con esto en el futuro:

Si desea ver una lista de relaciones para varios esquemas:

$psql mydatabase mydatabase=# SET search_path TO public, usa; #schema examples SET mydatabase=# /dt List of relations Schema | Name | Type | Owner --------+-----------------+-------+---------- public | counties | table | postgres public | spatial_ref_sys | table | postgres public | states | table | postgres public | us_cities | table | postgres usa | census2010 | table | postgres


Puedes seleccionar las tablas desde el esquema de information_schema

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