El programa psql nos va a permitir interactuar con nuestra base de datos PostgreSQL desde el terminal de comandos sin necesidad de una interfaz gráfica. En la siguiente entrada conoceremos el potencial de esta interesante herramienta a través de algunos de sus comandos más usados.
¿Cuándo usar psql?
Cuando estamos trabajando con proyectos reales que deben gestionar bases de datos relacionales como PostgreSQL, lo más común es que nuestros datos estén alojados en un servidor remoto o servicio en la nube (ej. Amazon RSD, Azure o cualquier servicio de servidores dedicados). El sistema operativo por excelencia en estos entornos de producción es Linux y por defecto no es necesario instalar un cliente gráfico, como pgAdmin o DBeaver, para poder realizar las principales operaciones de administración y gestión de nuestra información.
Gracias a psql podemos realizar desde nuestra consola cualquier operación o instrucción SQL que necesitemos. Es por esto, que conocer al menos un conjunto básico de sus comandos y opciones nos será realmente útil.
¿Cómo conectarnos a nuestra servidor PostgreSQL con psql?
Esta es la instrucción más importante que vamos a usar siempre que queramos conectarnos a nuestra base de datos PostgreSQL.
psql -h 127.0.0.1 -U rafmolina -p 5432 -d equipamientos
Los parámetros usados son los siguientes:
- -h Especifica el nombre de host de la máquina o ip del servidor en la que se ejecuta el servidor. En el ejemplo está apuntado a nuestra máquina local o localhost pero podría indicarse la IP de un servidor remoto.
- -U nombre del usuario con el que nos vamos a conectar
- -p puerto de conexión (por defecto es el 5432)
- ‘equipamientos’ es el nombre de nuestra base de datos.

Contamos con la posibilidad de definir los parámetros usando su nombre completo. La instrucción anterior quedaría de la siguiente manera.
psql --host=127.0.0.1 --port=5432 --username=rafmolina --dbname=equipamientos
Al ejecutar el comando se nos solicitará la contraseña del usuario. Si todo es correcto nos conectaremos a nuestro servidor PostgreSQL.
Si estás trabajando con Windows y al ejecutar el comando psql te sale la advertencia sobre diferencias entre los sistemas de codificación, puedes modificar el código con el comando chcp que cambio la página de códigos de la consola activa. Por ejemplo chcp 1252 cambia a codificación a Windows-1252
Consultas sobre las bases de datos
Una vez conectados a nuestro servidos podemos realizar algunas consultas.
Por ejemplo, para poder obtener el listado de las bases de datos alojadas usamos el comando \l

El listado de las tablas de la base de datos a la que nos hemos conectado lo obtenemos con \dt

Y para describir una tabla volvemos a usar el comando \d seguido del nombre de la tabla

Para cambiar la tabla de trabajo el comando es \c y el nombre de la tabla
¿Cómo desconectarnos de la base de datos?
Otro de los comandos básicos es \q que nos desconecta de la base de datos.

Sentencias SQL
Por supuesto, estando ya conectado a una base de datos, dentro de psql podemos ejecutar cualquier sentencia SQL que necesitemos.

Otros comandos psql de utilidad
\du – Listado de usuarios

\e – Crear sentencias en editor externo

\conninfo – Información sobre la conexión actual.

\? comando – Obtener ayuda sobre los comandos de psql.
\h comando – Obtener ayuda sobre comandos SQL

Más información
En el siguiente enlace se encuentra la relación de todas las opciones de psql https://www.postgresql.org/docs/current/app-psql.html
Si estás interesado en aprender más sobre el manejo de bases de datos espaciales pueden consultar nuestros curso de Bases de Datos Espaciales y Evaluación de la Calidad de los Datos o apuntarte al Diploma en Programación y Tecnologías Geoespaciales de Código Abierto.
¿Quieres comentarnos algo? Adelante!