sql >> Base de Datos >  >> RDS >> PostgreSQL

Docker exec:no se puede llamar a postgres con variables de entorno

Dependiendo de su caso de uso, qué podría hacer, en lugar de pasar un usuario a psql El comando es definir la variable de entorno PGUSER al contenedor en el momento del arranque.

De esta forma, será el usuario por defecto para PostgreSQL, si no especificas ninguno, por lo que ni siquiera tendrás que especificarlo para conectarte:

$ 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=#