Cómo enumerar bases de datos y tablas de PostgreSQL usando psql

27 feb 2021 3 min di lettura
Cómo enumerar bases de datos y tablas de PostgreSQL usando psql
Indice dei contenuti

Introducción

Al administrar servidores de bases de datos PostgreSQL, una de las tareas más comunes que probablemente se realizará es enumerar las bases de datos y sus tablas.

PostgreSQL viene con una herramienta interactiva llamada psql que le permite conectarse al servidor y ejecutar consultas en él. Mientras usa psql, también puede aprovechar sus metacomandos. Estos comandos son útiles para la administración de secuencias de comandos y línea de comandos. Todos los metacomandos comienzan con una barra invertida sin comillas \ también se conocen como comandos de barra invertida.

Este tutorial explica cómo mostrar bases de datos y tablas en un servidor PostgreSQL usando psql.

Prerrequisitos

Para seguir este tutorial, necesitará:

  • PostgreSQL instalado correctamente en su servidor /escritorio. Los siguientes comandos deberían funcionar en la mayoría de las distribuciones de Linux. Para instalar PostgreSQL en Ubuntu 18.04, lea esta guía. Para instalar PostgreSQL en Debian 10, lea esta guía.

Lista de las bases de datos

Puede conectarse al servidor PostgreSQL utilizando el comando psql como cualquier usuario del sistema. Dependiendo de la configuración del servidor, es posible que el usuario deba ingresar su contraseña para conectarse al terminal psql. Para iniciar sesión en la terminal psql como un usuario actualmente conectado, simplemente escriba psql.

Cuando se instala el paquete PostgreSQL, se crea un usuario administrativo llamado "postgres". De forma predeterminada, este usuario puede conectarse al servidor PostgreSQL local sin contraseña.

Para iniciar sesión en la terminal psql como usuario "postgres ", ejecute:

sudo -u postgres psql

Desde la terminal psql, ejecute el metacomando \ l o \ list para enumerar todas las bases de datos:

\l

La salida incluirá el número de la base de datos, el nombre de cada base de datos, su propietario, codificación y privilegios de acceso:

 List of databases
 Name | Owner | Encoding | Collate | Ctype | Access privileges
 -----------+----------+----------+-------------+-------------+-----------------------
 postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
 | | | | | postgres=CTc/postgres
 template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
 | | | | | postgres=CTc/postgres
 (3 rows)

El servidor PostgreSQL tiene tres bases de datos creadas por defecto, template0, template1 y postgres. Los dos primeros son plantillas que se utilizan al crear nuevas bases de datos.

Si desea obtener más información sobre la base de datos, como dimensiones y descripciones, utilice uno de estos dos comandos \ l + o \ list +. El tamaño de la base de datos solo se mostrará si el usuario actual puede conectarse a ella.

Otra forma de enumerar las bases de datos es utilizar la siguiente instrucción SQL:

SELECT datname FROM pg_database;

A diferencia del metacomando \ l, el anterior solo consulta los nombres de las bases de datos:

 datname
 -----------
 postgres
 odoo
 template1
 template0
 (4 rows)

Para obtener una lista de todas las bases de datos sin acceder al shell psql, use la opción -c como se muestra a continuación (si ya ha iniciado sesión en el shell psql, escriba exit ):

sudo -u postgres psql -c "\l"

Enumere las tablas de la base de datos

Para enumerar todas las tablas de una base de datos en particular, debe conectarse a ella usando el metacomando \ co \ connect. El usuario que inició sesión en el terminal psql debe poder conectarse a la base de datos.

Vuelva a conectarse al shell psql si ya no ha iniciado sesión:

sudo -u postgres psql

Para conectarse a la base de datos llamada " plantilla1 ", escriba:

\c template1

Después de cambiar la base de datos, use el metacomando \ dt para listar todas las tablas en la base de datos. La salida incluirá el número de tablas, el nombre de cada tabla y su esquema, tipo y propietario.

Si la base de datos está vacía, la salida se verá así:

No relations found.

Para obtener información sobre los tamaños de las tablas y las descripciones de uso, utilice el metacomando \ dt +.

Conclusión

Hemos visto cómo listar bases de datos y tablas de PostgreSQL usando el comando psql.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.