Te recomendamos que revises esta respuesta en un ambiente controlado antes de enviarlo a producción, un saludo.
Solución:
Para la variante de Windows: yo también experimenté este desagradable error debido a pgAdmin para mi instalación de Windows x64 de la versión 9.2. Dejó mi producción paralizada.
En la carpeta C:Program FilesPostgreSQL9.2data o C:Program Files (x86)PostgreSQL9.Xdata, encontrará el archivo de texto pg_hba.conf.
Encuentra las siguientes líneas:
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
y cambie METHOD md5 a “confiar” así:
# TYPE DATABASE USER ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
Desde Windows>Ejecutar escriba “services.msc” y ingresar encuentre la instancia correcta de PostgreSQL y reiníciela.
¡La seguridad de su base de datos ahora está completamente abierta! Preste atención a la advertencia para devolverlo a md5 después de cambiar el tiempo de caducidad de la contraseña de usuario para decir el año 2099 para todos los usuarios relevantes.
Puede acceder a su pgpass.conf a través de pgAdmin -> Files -> open pgpass.conf
Eso te dará el camino de pgpass.conf
en la parte inferior de la ventana (documentación oficial).
Si luego abre este archivo y lo edita a su gusto.
Si eso no funciona, puedes:
- Encuentre su pg_hba.conf, generalmente en C:Program FilesPostgreSQL9.1datapg_hba.conf
- Si es necesario, establezca los permisos en él para que pueda modificarlo; Es posible que su cuenta de usuario no pueda hacerlo hasta que use la pestaña de seguridad en el cuadro de diálogo de propiedades para otorgarse ese derecho mediante el uso de una anulación de administrador.
- Alternativamente, busque el bloc de notas / notepad ++ en su menú de inicio, haga clic con el botón derecho, elija “Ejecutar como administrador”, luego use Archivo-> Abrir para abrir pg_hba.conf de esa manera.
- Edítelo para establecer la línea “host” para el usuario “postgres” en el host “127.0.0.1/32” en “confiar”. Puede agregar la línea si no está allí; simplemente inserte:
host all postgres 127.0.0.1/32 trust
antes de cualquier otra línea. (Puede ignorar los comentarios, las líneas que comienzan con #).
-
Reinicie el servicio PostgreSQL desde el panel de control de Servicios (inicio->ejecutar->services.msc)
-
conéctese usando psql o pgAdmin4 o lo que prefiera
- y correr
ALTER USER postgres PASSWORD 'fooBarEatsBarFoodBareFoot'
- elimine la línea que agregó a pg_hba.conf o vuelva a cambiarla
- reinicie PostgreSQL nuevamente.
Nota: CREAR USUARIO es lo mismo que CREAR ROL excepto que implica INICIAR SESIÓN.
$ psql postgres
postgres=# create user postgres with superuser password 'postgres';
Si te ha resultado de utilidad este artículo, sería de mucha ayuda si lo compartieras con otros desarrolladores de esta manera contrubuyes a difundir nuestro contenido.