PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Docker exec - não pode chamar postgres com variáveis ​​de ambiente


Dependendo do seu caso de uso, o que você pode fazer, em vez de passar um usuário para o psql O comando é definir a variável de ambiente PGUSER para o contêiner no momento da inicialização.

Dessa forma, ele será o usuário padrão do PostgreSQL, se você não especificar nenhum, então nem precisará especificá-lo para se conectar:
$ 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=#