Curso
PostgreSQL es uno de los RDBMS de código abierto más utilizados. La instalación por defecto de PostgreSQL incluye un prompt de psql, que es la interfaz tipo terminal de PostgreSQL. pgAdmin, por su parte, ofrece una interfaz gráfica para trabajar con bases de datos en PostgreSQL. Con psql, además de ejecutar consultas SQL, obtienes funciones extra que vas a aprender en este tutorial.
Empezarás viendo cómo obtener la lista de bases de datos que residen en un servidor PostgreSQL y, poco a poco, pasarás a temas más intermedios. Vamos allá.
Nota: Este tutorial asume que ya estás familiarizado con SQL (el lenguaje general para interactuar con RDBMS) y con PostgreSQL. Si quieres repasar lo básico, echa un vistazo a estos recursos:
Antes de empezar
Te vendrá bien tener una base de datos ya preparada para seguir el tutorial. Puedes usar este archivo de copia de seguridad y restaurarlo en tu servidor PostgreSQL. Si quieres saber cómo hacerlo, puedes leer este artículo.
Si te preguntas qué es psql, este extracto del sitio oficial de PostgreSQL lo explica muy bien:
psql es una interfaz de línea de comandos para PostgreSQL. Te permite escribir consultas de forma interactiva, enviarlas a PostgreSQL y ver los resultados. Alternativamente, la entrada puede provenir de un archivo o de argumentos de la línea de comandos. Además, psql ofrece varios metacomandos y características similares a las de un shell para facilitar la escritura de scripts y automatizar una amplia variedad de tareas.
Como comentábamos, en este tutorial aprenderás los diez comandos de psql más útiles. Antes de continuar, asegúrate de tener PostgreSQL instalado (preferiblemente una versión >= 9.4). Este artículo te ayudará a instalar PostgreSQL.
El siguiente paso es llegar a este prompt:

En Windows, puedes escribir psql en la barra de búsqueda del menú Inicio y podrás abrirlo. A esto se le llama la shell de psql, que te da el prompt de psql. Como ves, el prompt está ahora en la base de datos por defecto postgres. Vamos a ver si existe alguna otra base de datos en este servidor PostgreSQL local.
1. Listar las bases de datos disponibles
Puedes usar el comando \l para obtener la lista de todas las bases de datos disponibles.

Como ves, tengo estas bases de datos:
- datacamp_tutorials
- postgres
Puedes ignorar el resto de entradas. Ahora, veamos la lista de tablas disponibles en la base de datos actual.
2. Listar las tablas disponibles en la base de datos actual
\dt se encarga de eso:
![]()
Pero, por desgracia, la base de datos postgres no tiene ninguna tabla creada (en la literatura de gestión de bases de datos, a las tablas también se las llama relaciones). Vamos a cambiar a otra base de datos y comprobar si tiene tablas creadas.
3. Cambiar a otra base de datos
La sintaxis es: \c <database_name>. Por ejemplo, si quieres cambiar a una base de datos llamada datacamp_tutorials, puedes hacerlo así:
`\c datacamp_tutorials`

Ahora, comprobemos si tiene tablas con el comando \dt:

Como puedes ver, la base de datos datacamp_tutorials tiene estas cuatro tablas:
- countries
- route_table
- station_code
- train_table
Imagina que quieres ver los detalles estructurales de una tabla concreta. A esto se le suele llamar describir una tabla. Veamos cómo se hace.
4. Describir una tabla concreta
La sintaxis general es \d <table_name>. Supón que estás en la base de datos datacamp_tutorials y quieres describir la tabla countries. El comando sería \d countries:

Como ves, \d countries te da mucha información útil sobre la tabla: nombres de columnas, tipos de datos, modificadores de columnas, etc. Puede que también quieras saber la versión de tu motor de PostgreSQL, por ejemplo para documentarla. Veamos cómo hacerlo.
5. Consultar la versión de PostgreSQL
SELECT version(); te lo muestra:

Ahora, imagina que has olvidado el último comando que ejecutaste en la shell de psql entre varias llamadas y era importante. ¡Sin problema! Puedes recuperarlo fácilmente.
6. Ver el comando ejecutado previamente
\g sirve para esto:

Como ves, \g vuelve a ejecutar automáticamente el comando anterior. Puede que ahora tengas curiosidad por ver la lista de todos los comandos de psql disponibles para la versión de PostgreSQL que estás usando. Vamos a ello.
7. Listar todos los comandos disponibles
Puedes ver la lista completa de comandos de psql con \?:

También puede interesarte consultar las sintaxis de distintas sentencias de base de datos como SELECT, ALTER, DROP, etc. Puedes hacerlo desde el propio prompt de psql.
8. Consultar la sintaxis de sentencias de PostgreSQL
Por ejemplo, si quieres saber más sobre las sentencias DROP, \h DROP TABLE te ayuda:

Supón que quieres analizar los tiempos de ejecución de las consultas. Veamos cómo hacerlo desde la shell de psql.
9. Ver los tiempos de ejecución de las consultas
Para ello, tienes que activar el comando \timing. Imagina que quieres medir el tiempo de esta consulta:
select * from train_table limit 10;
Primero ejecuta el comando \timing:
![]()
Después de activar la opción de tiempos, puedes ejecutar tu consulta:

Como ves, el tiempo de ejecución de la consulta es de 0,786 ms. Este tiempo puede variar según la máquina. Para terminar, veamos el comando de psql que abre tu consulta/comando anterior en un editor de texto.
10. psql + editor de texto
Si ejecutas el comando \e, se abre el último comando/consulta en un editor de texto, desde donde puedes editarlo y volver a ejecutarlo.

Como ves, el comando e abre el editor de texto Bloc de notas con la consulta que ejecutaste previamente.
Conclusión
En este tutorial has aprendido diez comandos muy útiles de psql que puedes usar en tus tareas diarias con bases de datos. Si quieres seguir aprendiendo SQL, prueba estos cursos de DataCamp:
