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

PostgreSQL viene con una herramienta interactiva llamada psql , que le permite conectarse al servidor y ejecutar consultas contra él. Al usar psql también puede aprovechar sus meta-comandos. Estos comandos son útiles para scripting y administración de línea de comandos., Todos los meta-comandos comienzan con una barra invertida sin comillas y 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.

Listing Databases #

Puede conectarse al servidor PostgreSQL utilizando el comando psql como cualquier usuario del sistema. Dependiendo de la configuración del servidor, el usuario puede necesitar introducir su contraseña para conectarse a la terminal psql., Para acceder al terminal psql como usuario en el que está conectado actualmente, 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 una contraseña.

para tener acceso A la etiqueta psql terminal como usuario «postgres», ejecute:

sudo -u postgres psql
sudo comando permite ejecutar comandos como otro usuario.,

desde el terminal psql ejecutar \l o \list meta-comando para listar todas las bases de datos:

\l

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

PostgreSQL server tiene tres bases de datos creadas por defecto, template0, template1 y Postgres. Las dos primeras son plantillas que se utilizan al crear nuevas bases de datos.,

si desea obtener información sobre los tamaños de las bases de datos, los espacios de tabla predeterminados y las descripciones, use \l+ o \list+. El tamaño de la base de datos solo se muestra si el usuario actual puede conectarse a ella., de todas las bases de datos sin acceder al shell psql, use el interruptor -c como se muestra a continuación:

sudo -u postgres psql -c "\l"

otra forma de enumerar las bases de datos es usar la siguiente instrucción SQL:

SELECT datname FROM pg_database;

meta-comando la consulta anterior mostrará solo los nombres de las bases de datos:

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

listing tables #

para listar todas las tablas de una base de datos en particular primero, debe conectarse a ella utilizando el \co\connectmeta-comando., El usuario que ha iniciado sesión en el terminal psql debe poder conectarse a la base de datos.,

por ejemplo, para conectarse a la base de datos llamada «odoo» escribiría:

\c odoo

Una vez que la base de datos se cambie, use el meta-comando \dt para listar todas las tablas de la base de datos:

la salida incluirá el número de las 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 use \dt+.,

conclusión #

usted ha aprendido cómo listar bases de datos y tablas de PostgreSQL usando el comando psql.