Esta instrucción PSQL en PowerShell:
.\psql --% -h localhost -p 5000 -U postgres -d mydatabase -c ` (SELECT * ...... do something);Funciona, y no solicita una contraseña.
.\psql.exe --helpIndica que se requiere el modificador -w para no tener contraseña.
¿Por qué este comando funciona sin contraseña? La base de datos tiene una contraseña.
El comando no funciona en el shell interactivo de PSQL sin autenticación de contraseña, solo en PowerShell.
-w no es necesario para "sin contraseña" vuelva a leer lo que dice, de mi man psql
-w--no-passwordNunca emite una solicitud de contraseña. Si el servidor requiere autenticación de contraseña y no hay una contraseña disponible por otros medios, como un archivo .pgpass, el intento de conexión fallará. Esta opción puede ser útil en trabajos por lotes y secuencias de comandos donde no hay ningún usuario presente para ingresar una contraseña. Tenga en cuenta que esta opción permanecerá configurada durante toda la sesión y, por lo tanto, afecta los usos del metacomando \connect, así como el intento de conexión inicial.
-w está diseñado para cuando está ejecutando scripts psql y no es posible ingresar una contraseña, como en una sesión sin cabeza.
¿Por qué este comando funciona sin contraseña? La base de datos tiene una contraseña.
Incluso si la base de datos tiene una contraseña, si su archivo pg_hba.conf tiene confianza, no se requerirá contraseña. Para depurar esto aún más, necesitamos ver su pg_hba.conf .