[英]psql: error: could not connect to server: FATAL: role "postgres" does not exist
我已经“dockerized”了一个 Django/PostgreSQL 应用程序并尝试连接到我的数据库 我有 2 个容器:web et db 它工作但我无法连接到我的 postgresql 数据库
我曾经运行docker exec -it coverage_africa_db_1 psql -U postgres
但出现错误
psql:错误:无法连接到服务器:致命:角色“postgres”不存在
我尝试通过运行命令docker exec -it aab213f730cd bash
来“跳入”我的容器,并尝试使用 psql 命令进行连接...
psql -d 数据库开发
psql:错误:无法连接到服务器:致命:角色“root”不存在
要么
psql -U postgres
错误:无法连接到服务器:致命:角色“postgres”不存在
事实上,没有一个 psql 选项有效......
.env.dev
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 容器,这:
environment:
- POSTGRES_USER=user
- POSTGRES_PASSWORD=user
- POSTGRES_DB=db_dev
定义数据库的初始化方式。 如果您没有更改它,您应该能够以用户“user”和密码“user”的身份连接。
如果您确实更改了它,那么实际值就是第一次启动时出现的值。 首次启动后,这些凭据将写入数据库,这些数据位于postgres_data
卷上。 如果要删除数据并使用新凭据重新初始化数据库,请使用docker-compose down -v
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.