PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment spécifier un mot de passe pour 'psql' de manière non interactive ?

Définissez la variable d'environnement PGPASSWORD dans le script avant d'appeler psql

PGPASSWORD=pass1234 psql -U MyUsername myDatabaseName

Pour référence, voir http://www.postgresql.org/docs/current/static/libpq-envars.html

Modifier

Depuis Postgres 9.2, il est également possible de spécifier une chaîne de connexion ou un URI pouvant contenir le nom d'utilisateur et le mot de passe. La syntaxe est :

$ psql postgresql://[user[:password]@][host][:port][,...][/dbname][?param1=value1&...]

L'utilisation de cela présente un risque pour la sécurité car le mot de passe est visible en texte brut lorsque vous regardez la ligne de commande d'un processus en cours d'exécution, par ex. en utilisant ps (Linux), ProcessExplorer (Windows) ou des outils similaires, par d'autres utilisateurs.

Voir aussi cette question sur les administrateurs de bases de données