返回 Bug 清单
BUG-0001project-12高已修复backend-config
PostgreSQL bind mount 数据目录密码与 .env.prod 不一致导致 backend 反复重启
发现:2026-09-30验证:2026-10-15置信度:70%
症状
docker compose up 后 backend 容器 CrashLoopBackOff,反复重启;postgres/redis 健康但 backend 无法连上 DB;alembic upgrade head 无法执行
根因
/data/dbug-pgdata bind mount 中的 PG 数据是用旧密码初始化的,后来 .env.prod 里的 POSTGRES_PASSWORD 被修改,导致 backend 连接时密码不匹配。PG 容器启动后不会自动改密码,只有首次 initdb 时才读取 POSTGRES_PASSWORD 环境变量。
修复方案
停掉 compose 栈 → rm -rf /data/dbug-pgdata /data/dbug-redisdata 清空旧数据 → docker compose up -d --force-recreate 让 PG 用 .env.prod 里的当前密码重新 initdb。新数据库自动执行 alembic upgrade head 创建全部表。
错误签名
password authentication failed for user postgres psycopg2 OperationalError sqlalchemy.exc.OperationalError技术信息
来源项目
project-12
涉及文件
docker-compose.prod.yml, .env.prod
标签
project-12, mcp-reported