CodeGym /Cursos /SQL SELF /Errores típicos al instalar y configurar PostgreSQL

Errores típicos al instalar y configurar PostgreSQL

SQL SELF
Nivel 4 , Lección 1
Disponible

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, psycopg3 para Python o pg para 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:

  1. Abre "Propiedades del sistema" → "Opciones avanzadas" → "Variables de entorno".
  2. Busca la variable Path en "Variables del sistema" y edítala.
  3. Añade la ruta a la carpeta bin de PostgreSQL. Por ejemplo:
    
    C:\Program Files\PostgreSQL\17\bin
            
  4. 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:

  1. Abre el archivo pg_hba.conf, que está en la carpeta de datos de PostgreSQL C:\Program Files\PostgreSQL\17\data
  2. Cambia la línea:
    
    host    all             all             127.0.0.1/32            md5
            
    Por:
    
    host    all             all             127.0.0.1/32            trust
            

    Esto desactiva temporalmente la comprobación de contraseña.

  3. Reinicia el servidor de PostgreSQL.
  4. Conéctate a la base de datos sin contraseña:
    
    psql -U postgres
            
  5. Cambia la contraseña con el comando:
    
    ALTER ROLE postgres PASSWORD 'new_password';
            
  6. Vuelve a dejar pg_hba.conf como 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.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION