PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie gebe ich nicht interaktiv ein Passwort für „psql“ an?

Legen Sie die Umgebungsvariable PGPASSWORD im Skript fest, bevor Sie psql

aufrufen
PGPASSWORD=pass1234 psql -U MyUsername myDatabaseName

Als Referenz siehe http://www.postgresql.org/docs/current/static/libpq-envars.html

Bearbeiten

Seit Postgres 9.2 gibt es auch die Möglichkeit, einen Verbindungsstring oder URI anzugeben, der den Benutzernamen und enthalten kann Passwort. Syntax ist:

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

Die Verwendung ist ein Sicherheitsrisiko, da das Passwort im Klartext sichtbar ist, wenn man sich die Befehlszeile eines laufenden Prozesses ansieht, z. mit ps (Linux), ProcessExplorer (Windows) oder ähnliche Tools von anderen Benutzern.

Siehe auch diese Frage zu Datenbankadministratoren