4. Instalación de clientes
Un cliente de PostgreSQL es una aplicación que permite conectarse al servidor y trabajar con las bases de datos. El cliente no guarda la información de forma permanente; simplemente envía consultas al servidor y muestra los resultados.
En esta unidad se utilizarán dos tipos de clientes:
| Tipo de cliente | Ejemplo | Uso principal |
|---|---|---|
| Gráfico | pgAdmin |
Administración visual de bases de datos. |
| Línea de comandos | psql |
Ejecución de consultas y tareas administrativas desde el terminal. |
Antes de instalar un cliente, conviene conocer:
- la dirección del servidor;
- el puerto de conexión;
- el nombre de la base de datos;
- el usuario;
- el método de autenticación.
Cliente pgAdmin
pgAdmin es la herramienta gráfica oficial para administrar PostgreSQL. Permite:
- registrar servidores;
- crear y borrar bases de datos;
- gestionar usuarios y permisos;
- ejecutar consultas SQL;
- visualizar objetos del SGBD.
Instalación
- En Windows, se instala mediante el instalador oficial de PostgreSQL.
- En Ubuntu, se sigue la guía de
pgadmin.org.
sudo apt update
sudo apt install pgadmin4
También puede instalarse la versión web de pgAdmin en el servidor y acceder desde el navegador.
Conexión al servidor
Para crear una conexión en pgAdmin, normalmente se indican estos datos:
| Campo | Ejemplo local | Ejemplo remoto |
|---|---|---|
| Nombre | PostgreSQL local |
PostgreSQL servidor |
| Servidor o dirección | localhost |
IP o nombre DNS del servidor |
| Puerto | 5432 |
5432 o el puerto configurado |
| Base de datos | postgres |
postgres o otra base autorizada |
| Usuario | postgres o usuario de trabajo |
Usuario con permisos adecuados |
| Contraseña | La definida para el usuario | La definida para el usuario |
Si la conexión es correcta, el servidor aparecerá en el árbol de objetos.
Note
En una conexión remota, además del cliente, es necesario que el servidor esté configurado para aceptar conexiones externas y que la red permita el acceso al puerto de PostgreSQL.
Cliente psql
psql es el cliente de línea de comandos de PostgreSQL. Permite conectarse a un servidor PostgreSQL, ejecutar sentencias SQL y realizar tareas básicas de administración y mantenimiento de bases de datos.
Recordatorio
Esta herramienta ya se utilizó durante la instalación del servidor PostgreSQL para verificar el estado del servicio y comprobar el funcionamiento de la instalación. En esta unidad se estudiará como cliente de acceso a bases de datos, tanto en conexiones locales como remotas.
Instalación
-
En Windows, puede instalarse junto con PostgreSQL o mediante Stack Builder.
-
En Ubuntu, se ejecuta:
sudo apt update
sudo apt install postgresql-client
Comprobación:
psql --version
Ejemplo de salida:
psql (PostgreSQL) 16.4
Conexión al servidor
Los valores por defecto suelen ser:
- servidor:
localhost - puerto:
5432 - base de datos:
postgres - usuario:
postgres
Para conectarse con otros datos, se usan las opciones de psql.
| Opción | Descripción |
|---|---|
-d |
Nombre de la base de datos. |
-p |
Puerto del servidor PostgreSQL. |
-U |
Usuario con el que se conecta. |
-h |
Dirección del servidor o host. |
-W |
Solicita la contraseña antes de conectar. |
-? |
Muestra la ayuda del cliente. |
Ejemplo de conexión local:
psql -U alumno
psql -U alumno -d practicas
Ejemplo de conexión remota:
psql -h 192.168.1.50 -p 5432 -U alumno -d practicas -W
En este caso, psql intenta conectarse al servidor 192.168.1.50, usando el puerto 5432, el usuario alumno y la base de datos practicas.
Comandos básicos de psql
psql incluye varios comandos internos que facilitan el trabajo con la sesión actual:
Gestión de la sesión y conexión
| Comando | Descripción |
|---|---|
\c base_datos [usuario] |
Cambia de base de datos y, opcionalmente, de usuario. |
\conninfo |
Muestra la información de la conexión actual (base de datos, usuario, host y puerto). |
\password [usuario] |
Cambia la contraseña de un rol de forma interactiva. |
\q |
Sale de psql. |
Exploración de bases de datos y objetos
| Comando | Descripción |
|---|---|
\l |
Muestra las bases de datos disponibles. |
\d |
Lista tablas, vistas, secuencias y otros objetos de la base de datos actual. |
\d nombre_tabla |
Muestra la estructura de una tabla concreta, incluyendo columnas, tipos de datos, índices y restricciones. |
\dt |
Lista únicamente las tablas de la base de datos actual. |
\dt *.* |
Lista las tablas de todos los esquemas. |
\dn |
Lista los esquemas de la base de datos actual. |
\db |
Lista los tablespaces. |
\du |
Lista los roles (usuarios) existentes. |
Ejecución de consultas y archivos
| Comando | Descripción |
|---|---|
\e |
Abre el editor para modificar la consulta actual o la última consulta enviada. |
\g [archivo] |
Ejecuta la consulta actual y, opcionalmente, guarda el resultado en un archivo. |
\i archivo |
Ejecuta sentencias SQL desde un archivo. |
\w archivo |
Guarda la consulta actual del buffer en un archivo. |
Formato y rendimiento
| Comando | Descripción |
|---|---|
\x |
Activa o desactiva el formato de salida ampliado (un campo por línea). |
\timing |
Activa o desactiva la medición del tiempo de ejecución de las sentencias. |
Ayuda
| Comando | Descripción |
|---|---|
\? |
Muestra la ayuda de los comandos internos de psql. |
\h sentencia |
Muestra la ayuda de una sentencia SQL, por ejemplo \h CREATE TABLE. |
Tip
Si se quiere comprobar rápidamente la conexión, basta con ejecutar:
psql -U alumno -d practicas
Y después una consulta sencilla:
SELECT current_user, current_database();
Relación con la configuración del servidor
La instalación de un cliente no es suficiente para conectar desde otra máquina. El servidor debe estar preparado para aceptar conexiones desde red y debe existir una regla de acceso correcta en la configuración del servicio.
Para configurar el acceso desde red, los puertos y la autenticación, se revisará en la unidad de configuración del servidor.