Entrada

Cómo usar la CLI psql


Postgres: Cómo usar la CLI psql

El cliente de línea de comandos psql viene incluido en el paquete de instalación de PostgreSQL nos permite establecer una conexión a un servidor de Postgres. Además, psql proporciona una serie de metacomandos y funciones para facilitar una variedad de tareas.

Conexión al servidor PostgreSQL

Para conectarse al servidor, se necesita saber el nombre de la base de datos de destino, el host, puerto del servidor, nombre de usuario y password aunque también algunos parámetros son opcionales si establecemos algunas modificaciones en la configuración o definimos algunas variables de entorno. Para que podamos probar una conexión al servidor a través de psql, abrimos una nueva terminal y escribimos la siguiente instrucción. Ejemplo: (host, usuario, base de datos, puerto)

1
psql -h localhost -U postgres -d dbname -p 5432

Tenga en cuenta que no puede simplemente conectarse a cualquier base de datos con cualquier nombre de usuario. El usuario que desea conectarse debe tener los permisos previamente creados por el administrador del sistema de base de datos.

Si no se especifica el nombre de la base de datos de destino, se interpretará como nombre de base de datos de destino el mismo que el nombre de usuario. En la siguiente instrucción:

1
psql -h localhost -U postgres

Es equivalente a estar solicitando conectarnose a una base de datos de destino con el nombre de postgres. El número de puerto predeterminado se determina en tiempo de compilación. Dado que el servidor de la base de datos utiliza el mismo valor predeterminado 5432, en la mayoría de los casos no se tendrá que especificar el puerto.

Cuando los parámetros son correctos y se establece una conexión exitosa el prompt de la terminal nos muestra la versión del servidor y la instrucción para solicitar ayuda:

1
2
3
$ psql -h localhost -U postgres
psql (12.10)
Type "help" for help.

Listar las bases de datos

Una vez conectados a un servidor podemos realizar consultas. Por ejemplo, para obtener el listado de las bases de datos alojadas usamos el metacomando \l:

listar bases de datos listar bases de datos

Listar a los usuarios

El metacomando \du se utiliza para mostrar la lista de todos los roles (usuarios y grupos) existentes en el servidor de PostgreSQL:

listar roles listar roles

Información de la conexión

El metacomando \conninfo muestra la información sobre la conexión actual:

1
2
enidev911=# \conninfo
You are connected to database "enidev911" via socket as user "enidev911" via socket in "/var/run/postgresql" at port "5432".
Esta entrada está licenciada bajo CC BY 4.0 por el autor.