ver una tablas tabla seleccionar postgres listar esquema datos contenido consultas campos bases postgresql

una - Mostrar tablas en PostgreSQL



ver contenido de una tabla en postgresql (18)

¿Cuál es el equivalente a show tables (desde MySQL) en PostgreSQL?


  1. Primer inicio de sesión como usuario postgres:

    sudo su - postgres

  2. conéctese al db requerido: psql -d databaseName

  3. /dt devolvería la lista de todas las tablas en la base de datos a la que está conectado.


(Por completitud)

También puede consultar el esquema de información (estándar de SQL):

SELECT table_schema || ''.'' || table_name FROM information_schema.tables WHERE table_type = ''BASE TABLE'' AND table_schema NOT IN (''pg_catalog'', ''information_schema'');


Desde la interfaz de línea de comandos psql , esto muestra todas las tablas en el esquema actual:

/dt

Programáticamente (o desde la interfaz psql también, por supuesto):

SELECT * FROM pg_catalog.pg_tables;

Las tablas del sistema viven en la base de datos pg_catalog.


En primer lugar tienes que conectarte con tu base de datos como

mi base de datos es ubuntu

usa este comando para conectar

/c ubuntu

Este mensaje mostrará

"Ahora está conectado a la base de datos" ubuntu "como usuario" postgres "."

Ahora

Ejecute este comando para mostrar todas las tablas en él

/d+


Iniciar sesión como superusuario:

sudo -u postgres psql

Puede enumerar todas las bases de datos y usuarios por comando /l , (enumerar otros comandos por /? ).

Ahora, si desea ver otras bases de datos, puede cambiar el usuario / base de datos mediante el comando /c como /c template1 , /c postgres postgres y usar /d , /dt o /dS para ver tablas / views / etc.


La ejecución de psql con el indicador -E hará eco de la consulta utilizada internamente para implementar / dt y similar:

sudo -u postgres psql -E postgres=# /dt ********* QUERY ********** SELECT n.nspname as "Schema", c.relname as "Name", CASE c.relkind WHEN ''r'' THEN ''table'' WHEN ''v'' THEN ''view'' WHEN ''i'' THEN ''index'' WHEN ''S'' THEN ''sequence'' WHEN ''s'' THEN ''special'' END as "Type", pg_catalog.pg_get_userbyid(c.relowner) as "Owner" FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN (''r'','''') AND n.nspname <> ''pg_catalog'' AND n.nspname <> ''information_schema'' AND n.nspname !~ ''^pg_toast'' AND pg_catalog.pg_table_is_visible(c.oid) ORDER BY 1,2; **************************


Primero conéctese con la base de datos usando el siguiente comando

/c database_name

Y verá este mensaje. Ahora está conectado a la base de datos nombre_de base de datos y ejecutan el siguiente comando

SELECT * FROM table_name;

En database_name y table_name solo actualice con su base de datos y el nombre de la tabla


Primero, puede conectarse con su base de datos postgres usando postgre.app en mac o usando postico. Ejecuta el siguiente comando:

psql -h localhost -p port_number -d database_name -U user_name -W

luego ingresas tu contraseña, esto debería dar acceso a tu base de datos


Puede listar las tablas en la base de datos actual con /dt .

Fwiw, /d tablename mostrará detalles sobre la tabla dada, algo así como show columns from tablename en MySQL, pero con un poco más de información.


Puede usar el terminal interactivo Psql de PostgreSQL para mostrar tablas en PostgreSQL.

1. Inicia Psql

Por lo general, puede ejecutar el siguiente comando para ingresar a psql:

psql DBNAME USERNAME

Por ejemplo, psql template1 postgres

Una de las situaciones que podría tener es: suponga que inicia sesión como root y no recuerda el nombre de la base de datos. Puede ingresar primero en Psql ejecutando:

sudo -u postgres psql

En algunos sistemas, el comando sudo no está disponible, en su lugar puede ejecutar cualquiera de los siguientes comandos:

psql -U postgres psql --username=postgres

2. Mostrar tablas

Ahora en Psql puedes ejecutar comandos como:

  1. /? listar todos los comandos
  2. /l lista de bases de datos
  3. /conninfo muestra información sobre la conexión actual
  4. /c [DBNAME] conecta a la nueva base de datos, por ejemplo, /c template1
  5. /dt list tables
  6. Luego puede ejecutar sentencias de SQL, por ejemplo, SELECT * FROM my_table; (Nota: una declaración debe terminar con un punto ; coma ; )
  7. /q salir de psql

Si está utilizando pgAdmin4 en PostgreSQL, puede usar esto para mostrar las tablas en su base de datos:

select * from information_schema.tables where table_schema=''public'';


Si solo desea ver la lista de tablas que ha creado, solo puede decir:

/dt

Pero también tenemos PATTERN que te ayudará a personalizar qué tablas mostrar. Para mostrar todos los esquemas pg_catalog incluidos, puede agregar * .

/dt *

Si lo haces: /?

/ dt [S +] [PATTERN] lista de tablas


Tenga en cuenta que /dt solo enumerará las tablas en el esquema público de la base de datos que está utilizando. Me gusta mantener mis tablas en esquemas separados, por lo que la respuesta aceptada no me funcionó.

Para enumerar todas las tablas dentro de un esquema específico , necesitaba:

1) Conectar a la base de datos deseada:

psql mydb

2) Especifique el nombre del esquema para el que quiero ver las tablas después del comando /dt , como esto:

/dt myschema.*

Esto me muestra los resultados que me interesan:

List of relations Schema | Name | Type | Owner ----------+-----------------+-------+---------- myschema | users | table | postgres myschema | activity | table | postgres myschema | roles | table | postgres


Usando psql : / dt

O:

SELECT c.relname AS Tables_in FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE pg_catalog.pg_table_is_visible(c.oid) AND c.relkind = ''r'' AND relname NOT LIKE ''pg_%'' ORDER BY 1


/ dt (no * obligatorio): listará todas las tablas de una base de datos existente a la que ya está conectado. También es útil tener en cuenta:

/ d [nombre_tabla]: mostrará todas las columnas de una tabla determinada, incluida la información de tipo, las referencias y las restricciones clave.


/ dt listará las tablas, y "/ pset pager off" las muestra en la misma ventana, sin cambiar a una separada. Me encanta esa característica a muerte en dbshell.


usar solo ver tablas

=> /dt

si quieres ver tablas de esquemas

=>/dt+

Si quieres ver tablas de esquemas específicas.

=>/dt schema_name.*


select * from pg_catalog.pg_tables where schemaname != ''information_schema'' and schemaname != ''pg_catalog'';