无法让Django连接PostgreSQL数据库的问题求助
解决Django切换PostgreSQL时的密码认证失败问题
你遇到的核心问题是PostgreSQL用户bb的密码认证失败,以下是具体排查和解决步骤:
1. 重新重置用户密码
创建用户时可能密码未正确生效,进入Postgres shell后执行:
ALTER USER bb WITH PASSWORD 'foobar';
执行完成后退出Postgres shell。
2. 修改PostgreSQL认证配置文件
brew安装的PostgreSQL 14,配置文件pg_hba.conf通常位于/usr/local/var/postgresql@14/pg_hba.conf:
- 打开该文件,找到针对
127.0.0.1的主机认证规则,将认证方式修改为md5:host all all 127.0.0.1/32 md5 - 保存文件后重启PostgreSQL服务:
brew services restart postgresql@14
3. 手动测试数据库连接
用psql命令直接验证用户连接是否正常:
psql -U bb -d testdb -h 127.0.0.1 -p 5432
输入密码foobar,如果能成功进入数据库命令行,说明数据库端配置无问题;若仍报错,重复步骤1和2检查。
4. 确保安装正确的数据库适配器
Django连接PostgreSQL需要psycopg2适配器,推荐安装预编译的binary版本避免编译问题:
pip install psycopg2-binary
完成以上步骤后,重新执行python manage.py makemigrations和python manage.py migrate即可。
内容的提问来源于stack exchange,提问作者BBrooklyn
相关产品推荐
相关产品推荐

