Postgresql: ejecución de secuencias de comandos de psql con contraseña

Resuelto Axel Fontaine asked hace 13 años • 17 respuestas

¿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.

Axel Fontaine avatar Jun 29 '11 22:06 Axel Fontaine
Aceptado

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:

  1. A través de la solicitud de contraseña . Ejemplo:

    psql -h uta.biocommons.org -U foo
    Password for user foo: 
    
  2. En un archivo pgpass . Consulte libpq-pgpass . Formato:

    <host>:<port>:<database>:<user>:<password>
    
  3. Con la PGPASSWORDvariable de entorno . Consulte libpq-envars . Ejemplo:

    export PGPASSWORD=yourpass
    psql ...
    
    # Or in one line for this invocation only:
    PGPASSWORD=yourpass psql ...
    
  4. 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
    
Reece avatar Jun 29 '2011 16:06 Reece
PGPASSWORD=[your password] psql -Umyuser < myscript.sql
Greg avatar Dec 04 '2013 07:12 Greg

Puede agregar esta línea de comando al comienzo de su secuencia de comandos:

export PGPASSWORD="[your password]"
jbaylina avatar Sep 19 '2011 16:09 jbaylina