PostgreSQL, también conocido como Postgres, es un sistema de base de datos objeto-relacional de código abierto que te permite almacenar y escalar cargas de trabajo de datos complejas de forma segura. Utiliza y amplía SQL, el lenguaje que permite a los usuarios acceder a las bases de datos.

Para gestionar eficazmente un servidor de bases de datos Postgres, debes estar familiarizado con tu entorno y con lo que almacena el servidor. A veces, puede que necesites listar las bases de datos que se ejecutan en tu servidor, recuperar información sobre ellas y conectarte a ellas. Puedes realizar estas tareas utilizando la interfaz PostgreSQL o una herramienta gráfica como Adminer para ver y manipular fácilmente esta información.

Si tu base de datos es sólo una de varias en el servidor Postgres, puede que tengas que filtrar la lista para encontrarla. Entonces, a menudo necesitarás una visión general de los datos que contiene, para lo que necesitarás una lista de sus tablas. Esta guía práctica muestra cómo listar bases de datos y tablas en Postgres.

Requisitos Previos

Para seguir esta guía, asegúrate de que tienes lo siguiente:

  • Un servidor de bases de datos Postgres con una o varias bases de datos instaladas.
  • Credenciales de acceso de superusuario para una cuenta en el servidor de bases de datos.
  • Familiaridad con los comandos SQL básicos, como las sentencias SELECT y las cláusulas WHERE.

También necesitas disponer de algunas bases de datos y tablas.

Cómo Conectarse a un Servidor de Bases de Datos PostgreSQL

Conectarse a un servidor de bases de datos PostgreSQL implica acceder a su versión única de SQL, llamada psql, a través de la Shell SQL disponible en tu escritorio tras la instalación.

Utilizando psql y la Shell SQL, puedes gestionar tu entorno de base de datos. Mientras que la mayoría de los comandos SQL manipulan datos y tablas, los metacomandos psql se encargan de las tareas de administración de la base de datos. Por ejemplo, crea o elimina bases de datos utilizando metacomandos, y añade tablas o recupera datos con comandos SQL.

Los metacomandos psql se distinguen por un prefijo de barra invertida (\), y muchos tienen versiones más cortas. Por ejemplo, tanto \help como \h realizan la misma función.

Para ejecutar sentencias SQL y metacomandos, accede a tu servidor a través de SQL Shell. Se te pedirá que proporciones:

  • El nombre de la base de datos objetivo
  • Tu nombre de usuario
  • Tu contraseña

Cuando hayas introducido tus datos, aparecerá un indicador que te permitirá introducir comandos SQL y metacomandos:

Un inicio de sesión con éxito en psql
Un inicio de sesión con éxito en psql.

Una vez que te hayas conectado, puedes

  • Listar las bases de datos disponibles
  • Conectarte a una base de datos concreta
  • Filtrar la lista de bases de datos
  • Cambiar entre bases de datos
  • Listar tablas dentro de una base de datos

Cómo Mostrar Bases de Datos

Dentro de tu servidor Postgres, la gestión de varias bases de datos es una práctica habitual. Cada base de datos reside en un directorio único, almacenado por separado dentro del servidor.

Para gestionar eficazmente tu servidor de bases de datos, puede que necesites recuperar información específica, como una lista de las bases de datos del servidor y sus detalles relevantes. Para listar las bases de datos de tu servidor Postgres mediante psql, accede a tu entorno Postgres en SQL Shell.

Una vez conectado, introduce el metacomando \list en la línea de comandos. Esto hará que SQL Shell muestre un resumen de las bases de datos presentes en el entorno, como en la imagen siguiente:

Lista de bases de datos en psql
Lista de bases de datos en psql.

Para un comando más rápido, puedes utilizar la forma abreviada \l, que produce el mismo listado completo de bases de datos.

Filtrar Bases de Datos en un Entorno Postgres

Al navegar por un entorno con numerosas bases de datos, resulta esencial localizar una en concreto. SQL Shell te permite conseguirlo incorporando características de la base de datos a tu comando.

En entornos Postgres, la información de la base de datos se almacena en la tabla pg_database. Por ejemplo, si quieres recuperar y filtrar bases de datos que contengan el término «test», ejecuta la siguiente consulta:

SELECT * FROM pg_database WHERE datname = 'test_data';

A continuación, SQL Shell enumera las bases de datos que corresponden a tus criterios:

Lista de bases de datos cuyos nombres contienen la cadena test
Lista de bases de datos cuyos nombres contienen la cadena «test».

Como este método de listar bases de datos y filtrar los resultados se basa en SQL, puedes construir consultas complejas para crear listas filtradas de bases de datos. Sin embargo, esto requiere familiaridad con SQL y los metadatos Postgres.

Cómo Conectarse y Cambiar de Base de Datos

Al navegar por las bases de datos utilizando SQL Shell y PSQL, conectarse o cambiar entre bases de datos es un proceso sencillo, siempre que conozcas el nombre de la base de datos de destino.

Para conectarte o cambiar a una base de datos, inicia sesión en tu entorno Postgres en SQL Shell.

A continuación, en la línea de comandos, introduce el metacomando \connect, seguido del nombre de la base de datos de destino. Por ejemplo, para conectar con una base de datos llamada test_data, utiliza el comando \connect test_data.

SQL Shell muestra el siguiente mensaje después de conectarse a la base de datos:

Conexión exitosa a la base de datos test_data.
Conexión exitosa a la base de datos test_data.

Como alternativa, puedes utilizar el comando corto \c para obtener los mismos resultados.

Cómo Listar las Tablas de la Base de Datos

Una vez que te hayas conectado a una base de datos, puedes listar las tablas que contiene. Para ello, introduce el comando \dt.

SQL Shell lista todas las tablas de la base de datos:

Una lista de las tablas de la base de datos actual.
Una lista de las tablas de la base de datos actual.

Acceder a Bases de Datos y Tablas con Adminer

SQL Shell es sólo una herramienta para administrar tus bases de datos Postgres. Otra herramienta es Adminer, que proporciona una sencilla interfaz gráfica de usuario (GUI) para administrar tu servidor de bases de datos. Además, Adminer funciona en cualquier entorno en el que tengas instalado PHP.

Puedes instalar y ejecutar Adminer de forma independiente, pero también es una de las muchas funciones del paquete DevKinsta.

Una vez que hayas instalado Adminer, ejecútalo e introduce las credenciales de tu entorno Postgres:

La página de inicio de sesión de Adminer.
La página de inicio de sesión de Adminer.

Puedes utilizar Adminer para obtener una lista de las bases de datos de tu entorno Postgres. Cuando te conectes a tu servidor de bases de datos, aparecerá una lista de sus bases de datos:

Adminer mostrando una lista de todas las bases de datos.
Adminer mostrando una lista de todas las bases de datos.

Para conectarte a la base de datos que desees, selecciónala de la lista. A continuación, Adminer muestra una lista de las tablas, vistas, rutinas, secuencias y tipos de usuario de la base de datos que hayas seleccionado.

La información de la base de datos test_data.
La información de la base de datos test_data.

También puedes seleccionar una base de datos en el desplegable DB de la parte izquierda de la página:

Desplegable que muestra las bases de datos disponibles.
Desplegable que muestra las bases de datos disponibles.

Resumen

Para gestionar con éxito las bases de datos de tu entorno Postgres, necesitas poder ver, filtrar e interactuar con los datos contenidos con el mínimo esfuerzo. Puedes optar por la línea de comandos SQL Shell, pero la facilidad de una herramienta GUI como Adminer puede encajar mejor en tu flujo de trabajo.

Para los desarrolladores de WordPress, DevKinsta es un poderoso aliado, ya que ofrece acceso a Adminer junto con un conjunto de otras herramientas diseñadas para agilizar la gestión de bases de datos. Para gestionar fácilmente tus bases de datos Postgres, echa un vistazo a DevKinsta — ¡es gratis para siempre!

Jeremy Holcombe Kinsta

Editor de Contenidos y Marketing en Kinsta, Desarrollador Web de WordPress y Redactor de Contenidos. Aparte de todo lo relacionado con WordPress, me gusta la playa, el golf y el cine. También tengo problemas con la gente alta ;).