Pgadmin III - ¿Cómo conectarse a la base de datos cuando la contraseña está vacía?

dba.stackexchange https://dba.stackexchange.com/questions/8111

  •  16-10-2019
  •  | 
  •  

Pregunta

He instalado PostgreSQL 9.1 en mi PC (Win 7). Tengo una pequeña aplicación Java que se conecta con éxito con login=sa y password="". La conexión funciona.

Sin embargo, se rechaza de la propia Pgadmin III. Yo obtengo:

Error connecting to the server: fe_sendauth: no password supplied

¿Cómo me conecto a mi base de datos desde Pgadmin III con una contraseña vacía?

EDITAR

Esto es solo una prueba, no código de producción.

¿Fue útil?

Solución

Puedo conectarme a mi instancia de Postgres desde Pgadmin III sin una contraseña para ningún usuario, incluidos superusadores como postgres.

Debido a que está conectando OK de otro cliente, no hay razón para que no debe conectarse desde PGADmin si están en la misma estación de trabajo, a menos que alguna regla de firewall en el cliente mismo esté permitiendo un programa pero no otro.

Si el problema es específico para este cliente, es posible que deba cambiar uno o más de:

  • pg_hba.conf
host    sa    all         192.168.0.nnn/32     trust
  • postgresql.conf
listen_addresses = '*'
  • El firewall en su servidor Postgres, por ejemplo, iptables:
-A INPUT -s 192.168.0.nnn -m state --state NEW -j ACCEPT

Pero Te recomiendo que no hagas nada de esto. El manual dice lo siguiente con buena razón:

La autenticación de confianza solo es adecuada para las conexiones TCP/IP si confía en cada usuario en cada máquina que puede conectarse al servidor por las líneas pg_hba.conf que especifican la confianza. Rara vez es razonable usar la confianza para cualquier conexión TCP/IP que no sean las de Localhost (127.0.0.1).

En su lugar, considere cualquiera:

  • Uso de una contraseña e identificación de MD5
  • Puerto de túneles 5432 sobre SSH

Otros consejos

Encontré esta respuesta en otro lugar.

Si su DB está en el host local, intente dejar el campo de host en blanco en la conexión en lugar de usar "localhost" o "127.0.0.1". Esto le dice a PGADmin que se conecte a través del enchufe UNIX local en lugar de TCP.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top