You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows系统下Rails无法运行——ActiveRecord::ConnectionNotEstablished 5432错误:服务器意外关闭连接

Rails连接PostgreSQL配置问题排查指南

核心配置检查(针对database.yml)

  • 用户与权限验证:确认username是PostgreSQL中已存在的用户,且拥有数据库创建权限。用命令行验证:
    psql -U 你的用户名 -d postgres
    
    若登录失败,先创建用户并赋权:
    CREATE USER 你的用户名 WITH PASSWORD '你的密码';
    ALTER USER 你的用户名 CREATEDB;
    
  • 主机端口配置:本地默认端口为5432,若用Docker或远程数据库,需明确指定host和port。本地环境可直接省略host,但确保PostgreSQL监听localhost。
  • 密码配置:新手阶段可先明文填写密码,排除环境变量未加载的问题,确认连接正常后再改用环境变量(如<%= ENV['POSTGRES_PASSWORD'] %>)。

针对你提供的配置截图的调整建议

  • 数据库名称统一用小写(PostgreSQL对标识符大小写敏感,避免加引号的麻烦)
  • 确认adapter字段为postgresql(拼写错误会直接导致连接失败)
  • macOS Homebrew安装的PostgreSQL默认用户为系统用户名,可直接将username设为你的系统用户名,密码留空(本地信任认证模式)

服务与连接测试

  • 先确保PostgreSQL服务运行:
    # macOS
    brew services start postgresql
    # Ubuntu/Debian
    sudo systemctl start postgresql
    
  • 用psql先测试数据库连接,再启动Rails:
    psql -U 你的用户名 -d 你的开发库名称
    
    若此命令能成功连接,说明数据库本身无问题,问题出在Rails配置细节。

常见错误修复

  • 连接拒绝(connection refused):检查postgresql.conf中的port是否为5432,listen_addresses是否设为*,修改后重启服务。
  • 密码认证失败:修改pg_hba.conf,将本地连接的认证方式设为md5或trust,重启PostgreSQL生效。

内容的提问来源于stack exchange,提问作者andres g

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 03:55:22