BD PostgreSQL

Postgres: Peer authentication failed for user

En este post voy a mostrar cómo solucionar el error de PostgreSQL que aparece al iniciar sesión. El error dice algo así:

Peer authentication failed for user usuario

Esto ocurre cuando intentamos iniciar sesión en psql.

Solución más común

El problema más común es que no estamos especificando el host, que sería localhost (aunque parece simple, así es).

Entonces, en lugar de loguearnos de la siguiente manera:

psql -U tu_usuario tu_base_de_datos

Hay que hacerlo así:

psql -U tu_usuario -h 127.0.0.1 tu_base_de_datos

En la mayoría de casos, esto funciona, y si no, veamos el siguiente paso.

Editar archivo pg_hba.conf

Esto requiere un poco más de trabajo pero igualmente soluciona las cosas. Hay que editar (con sudo, si es necesario) el archivo llamado pg_hba.conf ubicado en:

/etc/postgresql/[tu_version]/main

Si no sabes cuál es la versión, haz un cd /etc/postgresql/ y luego un ls para listar los directorios, entre ellos debe estar un directorio con la versión, entra al mismo y después a main.

Dentro del archivo, busca la siguiente línea (está casi al final, hay 4 líneas casi iguales pero es la primera):

local all postgres peer

(estará separada con más espacios)

Y cambia peer por trust de manera que quede así:

local all postgres trust

Guarda cambios y reinicia el servidor con:

sudo service postgresql restart

Ahora inicia sesión (psql -U postgres) con el usuario postgres (tranquilo, podrás iniciar sesión con otro usuario luego de hacer esto) y cambia tu contraseña con:

alter user postgres with password 'contraseña_aquí';

Cierra psql y vuelve a editar el archivo pg_hba.conf. Ahora, la línea que decía así (la que acabas de cambiar):

local all postgres trust

Debe decir así:

local all postgres md5

Reinicia de nuevo el servidor con:

sudo service postgresql restart

E intenta iniciar sesión de nuevo. Si no funciona con este método, mira la primer solución, es decir, especifica el host.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Cancelar trabajo de impresión con C++

En este post te quiero compartir un código de C++ para listar y cancelar trabajos…

4 semanas hace

Copiar bytes de Golang a JavaScript con WebAssembly

Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…

2 meses hace

Imprimir PDF con Ghostscript en Windows de manera programada

Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…

2 meses hace

Hacer pruebas en impresora térmica Bluetooth Android

Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…

2 meses hace

Limpiar clave PEM

Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…

2 meses hace

Foco con Telegram, apagador de 3 vías, relevador y ESP8266

Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…

2 meses hace

Esta web usa cookies.