PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come faccio a specificare una password per 'psql' in modo non interattivo?

Impostare la variabile di ambiente PGPASSWORD all'interno dello script prima di chiamare psql

PGPASSWORD=pass1234 psql -U MyUsername myDatabaseName

Per riferimento, vedere http://www.postgresql.org/docs/current/static/libpq-envars.html

Modifica

Da Postgres 9.2 c'è anche la possibilità di specificare una stringa di connessione o URI che può contenere il nome utente e parola d'ordine. La sintassi è:

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

L'utilizzo di questo è un rischio per la sicurezza perché la password è visibile in testo normale quando si guarda la riga di comando di un processo in esecuzione, ad es. usando ps (Linux), ProcessExplorer (Windows) o strumenti simili, da altri utenti.

Vedi anche questa domanda sugli amministratori di database