PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Docker exec - impossible d'appeler postgres avec des variables d'environnement

Selon votre cas d'utilisation, ce que vous pourriez faire, au lieu de passer un utilisateur au psql La commande consiste à définir la variable d'environnement PGUSER au conteneur au moment du démarrage.

De cette façon, ce sera l'utilisateur par défaut pour PostgreSQL, si vous n'en spécifiez aucun, vous n'aurez donc même pas à le spécifier pour vous connecter :

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