我正在使用docker中的postgres,但遇到了一些问题。我成功执行了docker-compose up --build命令。
当我运行以下命令时,它可以正常工作。psql按预期使用my_username用户启动。我可以看到我的数据库,\l,\dt命令正常工作。
docker-compose exec db psql --username=my_username --dbname=my_database
但是,当我运行以下命令时,我会收到错误消息"role “postgres” does not exist",
此外,\l和\dt都无法正常工作,即使psql命令也无法正常工作。
docker exec -it my_db_container_1 bash
su - postgres
createuser --createdb --password new_user
如何在第二种情况下解决问题?出了什么问题?我感到困惑。
docker-compose.yml
version: "3.9"
services:
#### other services ####
db:
image: postgres:latest
restart: always
environment:
POSTGRES_DB: my_database
POSTGRES_USER: my_username
POSTGRES_PASSWORD: my_password
ports:
- 5432
volumes:
- postgres_data:/var/lib/postgresql/data/
volumes:
postgres_data: