PsyNet实验本地调试失败:Postgres数据库连接报错问题求助
问题排查&解决步骤
第一步:验证Postgres运行与端口监听
- 执行端口检测命令确认服务监听状态:
- Linux/macOS 运行
sudo lsof -i :5432 - Windows 运行
netstat -ano | findstr :5432
如果命令无输出,说明Postgres没有绑定到5432端口,需修改postgresql.conf配置文件中的port参数为5432后重启Postgres服务。
- Linux/macOS 运行
- 手动校验数据库连接有效性:直接执行
psql postgresql://dallinger:dallinger@localhost/dallinger,根据返回的错误做对应处理:- 提示用户不存在:执行
createuser -P dallinger,按照提示设置密码为dallinger - 提示数据库不存在:执行
createdb -O dallinger dallinger - 提示密码验证失败:登录Postgres管理员账号执行
ALTER USER dallinger WITH PASSWORD 'dallinger';,同时检查pg_hba.conf配置,将localhost对应的连接规则设置为md5后重启服务。
- 提示用户不存在:执行
第二步:校验Dallinger/PsyNet配置
- 确认当前用户根目录下的
.dallingerconfig文件中没有自定义覆盖database_url参数,PsyNet v5.0.2配套Dallinger 7.7默认会优先读取该配置,若参数值与报错中的连接地址不一致需修正。 - 确认运行实验的虚拟环境中Dallinger版本匹配要求:执行
dallinger --version校验版本是否为7.7,版本不匹配会导致默认连接参数出错。
特殊场景排查
- 若使用Docker部署Postgres,确认容器5432端口已映射到本地宿主的5432端口,且容器处于正常运行状态。
- 检查本地防火墙、安全软件是否拦截了本地5432端口的访问请求。
内容的提问来源于stack exchange,提问作者Manuel Anglada Tort
相关产品推荐
相关产品推荐

