【发布时间】:2022-01-11 02:12:06
【问题描述】:
我收到错误password authentication failed for user "usertodoproject"。真的失去了耐心,到目前为止,我已经完成了几个新数据库并使用了 fpr 示例 ALTER USER todouser WITH PASSWORD 'todo'; 它也没有帮助。有什么想法吗?
*编辑它是 Docker-COMPOSE 故障而不是设置。应用无需 docker 即可运行。
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'todoproject',
'USER': 'usertodoproject',
'PASSWORD': 'todoprojectpass',
'HOST': 'db',
'PORT': '5432',
}
}
码头工人撰写
version: "3"
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
ports:
- 8000:8000
volumes:
- .:/code
depends_on:
- db
restart: always
db:
image: postgres
environment:
- POSTGRES_DB=todoproject
- POSTGRES_USER=usertodoproject
- POSTGRES_PASSWORD=todoprojectpass
ports:
- 5432:5432
【问题讨论】:
-
确保您的数据库的
postgresql.conf和pg_hba.conf都是您尝试建立的连接类型,allow。 -
要回答的问题 1) 您如何访问数据库以执行
ALTER USER ...? 2) 看起来您在 Docker 容器中运行 Postgres,对吗? 3) Django 应用程序相对于 Docker 容器在哪里? 4) Postgres 和 psycopg2 的版本是什么?添加答案以更新您的问题。 -
我编辑了,是 docker-compose 的东西
-
@Zegarek,我怀疑它是
postgresql.conf或pg_hba.conf,因为你会得到不同的错误:1)Is the server running on that host and accepting TCP/IP connections?之类的东西用于更改listen_addresses2)对于pg_hba情况类似于FATAL: no pg_hba.conf entry ... -
正如我所说,它与 docker-compose 相关,因为没有 docker 应用程序正常运行
标签: python django postgresql docker