Buscar

Linux: Cómo listar tablas y bases de datos en Postgres

Este artículo explica brevemente cómo listar bases de datos (lo que equivale a ejecutar show databases en MySQL) y tablas (show tables en MySQL) en Postgres, ejecutando consultas desde línea de comandos con la herramienta psql.

La primera limitación que se encuentra un usuario de MySQL al interactuar por primera vez con un gestor de bases de datos Postgres.

A pesar de que existen herramientas gráficas, como pgAdmin, es necesario conocer cómo se realizan las tareas desde línea de comandos.

La herramienta psql provee una terminal interactiva contra servidores de bases de datos PostgreSQL. Es posible utilizarla de forma local (ejecutar psql directamente en la consola del servidor de bases de datos), o contra un servidor remoto especificando el host y puerto mediante los parámetros -h y -p:

Linux: Cómo listar tablas y bases de datos en Postgres

Para listar las bases de datos de un servidor Postgres (luego de conectarse al mismo) ejecutar el comando \l

Linux: Cómo listar tablas y bases de datos en Postgres

Luego, para cerrar la terminal psql, ejecutar el comando \q:

Linux: Cómo listar tablas y bases de datos en Postgres

También es posible listar las bases de datos ejecutando directamente el comando psql -l en la terminal bash:

Linux: Cómo listar tablas y bases de datos en Postgres

En el listado se observan 4 bases de datos, de las cuales 3 son bases de datos de sistema (no se deben eliminar). 

Cada vez que se crea una base de datos con el comando CREATE DATABASE, en realidad se está copiando una base de datos existente (por defecto el modelo estándar de bases de datos "template1"). 

Entonces, la base de datos "template1" es una plantilla desde la cual se construyen nuevas bases de datos. 

Si se agregan objetos a esta base de datos, serán copiados en bases de datos subsecuentes cada vez que se utilice el comando CREATE DATABASE

El segundo modelo estándar de bases de datos "template0" contiene los mismos datos que posee inicialmente "template1", es decir los objetos estándar predefinidos por la versión de PostgreSQL. 

Nunca deben realizarse modificaciones sobre "template0". 

La tercera base de datos de sistema, "postgres", funciona como base de datos por defecto para gestionar conexiones al servidor de bases de datos por parte de usuarios y aplicaciones. 

Se crea cuando se inicia un cluster de bases de datos y es una simple copia de "template1". 

Puede eliminarse (drop) y recrearse si es necesario. Para mayor información ver la documentación oficial de PostgreSQL: 21.3. Template Databases.

Para listar tablas de una base de datos Postgres existe el comando \dt

Conectarse a la base de datos especificando su nombre con el parámetro -d, y luego ejecutar el comando \dt

Por ejemplo el listado de tablas de una base de datos de un sistema Moodle:

Linux: Cómo listar tablas y bases de datos en Postgres

El autor de este post es: Emiliano Marini


No hay comentarios:

Publicar un comentario