Postgresql psql:错误:无法连接到服务器:致命:角色";博士后;不存在

Postgresql psql:错误:无法连接到服务器:致命:角色";博士后;不存在,postgresql,docker,Postgresql,Docker,我已经“停靠”了Django/PostgreSQL应用程序,并尝试连接到我的数据库 我有两个容器:web et db 它可以工作,但我无法连接到我的postgresql数据库 我曾经运行过docker exec-it coverage\U africa\U db\U 1 psql-U postgres,但我遇到了一个错误 psql:错误:无法连接到服务器:致命:角色“postgres”不存在 我试图通过运行命令docker exec-it aab213f730cd bash“跳转”到我的容器中,

我已经“停靠”了Django/PostgreSQL应用程序,并尝试连接到我的数据库 我有两个容器:web et db 它可以工作,但我无法连接到我的postgresql数据库

我曾经运行过
docker exec-it coverage\U africa\U db\U 1 psql-U postgres
,但我遇到了一个错误

psql:错误:无法连接到服务器:致命:角色“postgres”不存在

我试图通过运行命令
docker exec-it aab213f730cd bash“跳转”到我的容器中,并尝试使用psql命令进行连接

psql-d数据库开发

psql:错误:无法连接到服务器:致命:角色“根”不存在

psql-U博士后

错误:无法连接到服务器:致命:角色“postgres”不存在

事实上,所有psql选项都不起作用

环境发展局局长

SECRET_KEY=*************************************
DEBUG=1
DJANGO_ALLOWED_HOSTS=localhost 127.0.0.1 [::1]
SQL_ENGINE=django.db.backends.postgresql
SQL_DATABASE=db_dev
SQL_USER=user
SQL_PASSWORD=user
SQL_HOST=db
SQL_PORT=5432
DATABASE=postgres
DJANGO_SETTINGS_MODULE=core.settings.dev
docker-compose.yml

version: '3.7'

services:
    web:
        build: ./app
        restart: always
        command: python manage.py runserver 0.0.0.0:8000
        volumes:
            - ./app/:/usr/src/app
        ports:
            - 8000:8000
        env_file:
            - ./.env.dev
        depends_on: 
            - db
    db:
        image: postgres:12.0-alpine
        restart: always
        volumes:
            - postgres_data:/var/lib/postgres/data/
        environment:
            - POSTGRES_USER=user
            - POSTGRES_PASSWORD=user
            - POSTGRES_DB=db_dev
volumes:
    postgres_data:

对于postgres容器,此:

环境:
-POSTGRES_USER=用户
-POSTGRES_PASSWORD=用户
-POSTGRES_DB=DB_dev
定义如何初始化数据库。如果您没有更改它,您应该能够以用户“user”的身份连接,密码为“user”


如果您确实更改了它,那么实际值就是第一次发布时出现的值。首次启动后,这些凭证将写入数据库,数据库数据位于
postgres\u data
卷上。如果要删除数据并使用新凭据重新初始化数据库,请使用
docker compose down-v

thansk进行答复。我没有更改它并尝试
docker exec-it coverage\U africa\U db\U 1 psql-U user
并得到一个错误
psql:error:cannot connect to server:FATAL:database“user”不存在
不理解为什么在一个案例中角色不存在,而在另一个案例中数据库不存在我已经完成了docker合成(没有-v)但没有更改任何内容…您使用
POSTGRES\u db=db\u dev
将数据库命名为“db\u dev”。试试docker exec-it coverage\U africa\U db\U 1 psql-d db\U dev-U user
。不客气。如果您想了解更多关于这些变量的信息,请查看此页。