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

Docker exec - Postgres kann nicht mit Umgebungsvariablen aufgerufen werden

Was Sie je nach Anwendungsfall tun könnten, anstatt einen Benutzer an psql zu übergeben Der Befehl besteht darin, die Umgebungsvariable PGUSER zu definieren zum Container beim Booten.

Auf diese Weise wird es der Standardbenutzer für PostgreSQL, wenn Sie keinen angeben, sodass Sie ihn nicht einmal angeben müssen, um eine Verbindung herzustellen:

$ docker run --name postgres -e POSTGRES_PASSWORD=bar -e POSTGRES_USER=foo -e PGUSER=foo -d postgres
e250f0821613a5e2021e94772a732f299874fc7a16b340ada4233afe73744423

$ docker exec -ti postgres psql -d postgres                                                          
psql (12.4 (Debian 12.4-1.pgdg100+1))
Type "help" for help.

postgres=#