Postgresql: ejecución de secuencias de comandos de psql con contraseña
¿Cómo puedo llamar a psql para que no me solicite una contraseña ?
Esto es lo que tengo:
psql -Umyuser < myscript.sql
Sin embargo, no pude encontrar el argumento que pasa la contraseña, por lo que psql siempre la solicita.
Quizás desee leer un resumen de las formas de autenticarse en PostgreSQL .
Para responder a su pregunta, existen varias formas de proporcionar una contraseña para la autenticación basada en contraseña:
A través de la solicitud de contraseña . Ejemplo:
psql -h uta.biocommons.org -U foo Password for user foo:
En un archivo pgpass . Consulte libpq-pgpass . Formato:
<host>:<port>:<database>:<user>:<password>
Con la
PGPASSWORD
variable de entorno . Consulte libpq-envars . Ejemplo:export PGPASSWORD=yourpass psql ... # Or in one line for this invocation only: PGPASSWORD=yourpass psql ...
En la cadena de conexión La contraseña y otras opciones se pueden especificar en la cadena de conexión/URI. Consulte aplicación-psql . Ejemplo:
psql postgresql://username:password@dbmaster:5433/mydb?sslmode=require
PGPASSWORD=[your password] psql -Umyuser < myscript.sql
Puede agregar esta línea de comando al comienzo de su secuencia de comandos:
export PGPASSWORD="[your password]"