1. Componentes principales de PostgreSQL
El instalador te tiene que poner tres cosas principales: el servidor y dos clientes. Ahora te cuento un poco sobre ellos.
Servidor postgres
Esto es el corazón de PostgreSQL. El servidor se encarga de:
- Procesar las peticiones de los clientes.
- Gestionar los datos: leer, escribir, actualizar.
- Garantizar la seguridad y la integridad de los datos.
Cuando arrancas el servidor de PostgreSQL, queda listo para recibir peticiones de los clientes.
Clientes
Los clientes son programas que se conectan al servidor y le mandan consultas SQL. En PostgreSQL hay varios clientes populares:
- Programa
psql: línea de comandos para trabajar con PostgreSQL. Perfecto para los devs "old school" y fans del terminal. - Programa
pgAdmin: interfaz gráfica para gestionar el servidor. Es como una navaja suiza para bases de datos — bonito y práctico. - Otros clientes: en realidad hay decenas de librerías y herramientas para trabajar con PostgreSQL desde otros lenguajes, por ejemplo,
psycopg3para Python opgpara Ruby.
¿Cómo funcionan juntos estos componentes? El usuario lanza una consulta desde el cliente (psql/pgAdmin) → el cliente manda la consulta al servidor postgres → el servidor procesa la consulta usando datos del sistema de archivos y su memoria → el resultado vuelve al cliente.
2. Conectarse a la base desde la consola
Como espero que recuerdes, psql es el programa para trabajar con PostgreSQL desde la línea de comandos. Es ideal si quieres comprobar algo rápido, lanzar una consulta o explorar la base de datos.
Ejemplo: usando psql
# Nos conectamos al servidor
psql -U postgres
Si todo fue bien, verás algo así:
psql (17.5)
Type "help" for help.
postgres=#
¡Enhorabuena, estás en la línea de comandos dentro de psql!
Una vez conectado, puedes ejecutar comandos:
-- Crear una base de datos
CREATE DATABASE test_db;
-- Ver la lista de bases
\l
-- Cambiar a una base de datos concreta
\c test_db
-- Salir de la sesión
\q
Es una herramienta genial para quienes les gusta trabajar "a pelo".
3. Problemas comunes con la instalación
¿Y si algo sale mal? ¿Si no ves la lista de bases de datos, o ni siquiera puedes hacer login? El instalador termina y ya está 😡 Errores, mensajes chungos en la consola, postgres no arranca, psql hace como que no te conoce. ¿Te suena? Felicidades — estás en la clásica fase de «lo hice todo bien, pero nada funciona». 😅
Vamos a repasar las trampas top en las que cae casi todo el mundo que empieza. Y lo vamos a hacer con la cabeza fría, un té calentito y la firme decisión de vencer cualquier error en los logs. Así que ármate de paciencia — hoy vamos a poner orden y a curar a PostgreSQL del síndrome de «solo funciona en el portátil del profe». 🛠️🐘
Problema 1. Conflicto de puertos
Probablemente, uno de los casos más comunes. PostgreSQL por defecto usa el puerto 5432 para conectarse al servidor. Si ese puerto ya está pillado por otra app, la instalación irá bien, pero el servidor no arrancará.
¿Cómo reconocer el problema?
Al arrancar PostgreSQL el servidor se niega a funcionar, o muestra un mensaje como:
could not bind IPv4 socket: Address already in use
Solución:
Mira qué aplicación está usando el puerto 5432. En Linux puedes hacerlo con:
sudo netstat -tuln | grep 5432
En Windows en la consola ejecuta:
netstat -ano | find "5432"
Si el puerto está ocupado, puedes cambiar el puerto de PostgreSQL. Abre el archivo postgresql.conf (está en la carpeta de datos de PostgreSQL) y busca la línea:
#port = 5432
Cambia el puerto por uno libre, por ejemplo:
port = 5433
No olvides reiniciar el servidor después de los cambios.
Problema 2. Permisos insuficientes
En Windows puedes encontrarte con que el instalador de PostgreSQL no puede terminar bien la instalación porque el usuario actual no tiene permisos suficientes.
¿Cómo reconocer el problema?
El instalador se queda pillado o muestra un mensaje de falta de permisos.
Solución:
Ejecuta la instalación como administrador. Haz clic derecho en el instalador y elige "Ejecutar como administrador".
Problema 3. Problemas con las variables de entorno
A veces, después de instalar PostgreSQL, el comando psql no se reconoce en la línea de comandos.
¿Cómo reconocer el problema?
Al intentar lanzar psql ves un mensaje como:
'psql' is not recognized as an internal or external command
Solución:
Este error es porque la ruta a la carpeta de binarios de PostgreSQL (por ejemplo, C:\Program Files\PostgreSQL\17\bin) no está en las variables de entorno.
Para arreglarlo en Windows:
- Abre "Propiedades del sistema" → "Opciones avanzadas" → "Variables de entorno".
- Busca la variable
Pathen "Variables del sistema" y edítala. - Añade la ruta a la carpeta
binde PostgreSQL. Por ejemplo:C:\Program Files\PostgreSQL\17\bin - Después de eso, reinicia la línea de comandos.
4. Errores al conectarse al servidor
A veces todo va bien: arrancas PostgreSQL, abres psql y la conexión a la base de datos va sin problemas. Pero a veces no. Pum, error. Algo no te deja entrar. La contraseña parece correcta, el servidor parece estar funcionando... Pero psql te suelta un mensaje borde.
No te rayes — estos errores le pasan a todo el mundo. Abajo te explico los problemas de conexión más típicos y cómo arreglarlos rápido.
Problema 1. Contraseña incorrecta para el usuario postgres
Cuando instalas PostgreSQL, pones una contraseña para el superusuario de la base de datos postgres. Si olvidas la contraseña o la escribes mal, no podrás conectarte al servidor.
¿Cómo reconocer el problema?
Al meter el comando de conexión:
psql -U postgres
Te sale un error como:
password authentication failed for user "postgres"
Solución:
Si olvidaste la contraseña de postgres, puedes resetearla:
- Abre el archivo
pg_hba.conf, que está en la carpeta de datos de PostgreSQLC:\Program Files\PostgreSQL\17\data - Cambia la línea:
Por:host all all 127.0.0.1/32 md5host all all 127.0.0.1/32 trustEsto desactiva temporalmente la comprobación de contraseña.
- Reinicia el servidor de PostgreSQL.
- Conéctate a la base de datos sin contraseña:
psql -U postgres - Cambia la contraseña con el comando:
ALTER ROLE postgres PASSWORD 'new_password'; - Vuelve a dejar
pg_hba.confcomo estaba y reinicia el servidor.
Problema 2. Host o puerto incorrecto
Si el cliente psql no puede conectarse al servidor, asegúrate de que pusiste bien el host y el puerto en la configuración.
¿Cómo reconocer el problema?
El error de conexión puede ser algo como:
could not connect to server: Connection refused
Is the server running on host "127.0.0.1" and accepting
TCP/IP connections on port 5432?
Solución:
Asegúrate de que el servidor de PostgreSQL está arrancado:
systemctl status postgresql
(Linux) o abre "Servicios" (Services) en Windows (Ctrl+Shift+Esc).
Si el servidor está arrancado, revisa la configuración en pg_hba.conf. Asegúrate de que las líneas de conexión para localhost (127.0.0.1) y tu IP están bien puestas. Por ejemplo:
host all all 127.0.0.1/32 md5
host all all 192.168.1.100/32 md5
5. Consejos generales para solucionar problemas
- Usa los logs de PostgreSQL
Los logs son tus colegas. Están en la carpeta de datos de PostgreSQL (por ejemplo,/var/log/postgresql/en Linux). Si algo falla, empieza mirando los logs. - Consulta la documentación
PostgreSQL tiene una de las mejores documentaciones que hay. Si te sale un error, es muy probable que la solución esté en la documentación oficial: https://www.postgresql.org/docs/. - Usa la comunidad
Si te atascas, pásate por Stack Overflow, ChatGPT o los foros de PostgreSQL. Hay muchas posibilidades de que ya haya una solución lista.
P.D.
¡Importante! Si nada te funciona — escríbenos al soporte: te ayudamos a resolver tu problema y luego actualizamos este artículo.
GO TO FULL VERSION