Windows系统启动Rails server时遇PostgreSQL连接错误找不到对应解决方案
问题根因
你遇到的报错是因为Rails默认的PostgreSQL连接配置优先使用Unix域套接字,而Windows系统不存在/var/run/postgresql/.s.PGSQL.5432这类Unix风格的套接字路径,PostgreSQL在Windows下默认通过TCP端口提供服务,因此适配Mac、Ubuntu的套接字修复方案对你不生效。
修复步骤
- 打开Rails项目下的
config/database.yml配置文件 - 找到你当前使用的环境(默认是开发环境
development段),显式添加TCP连接配置,参考配置如下:
development: adapter: postgresql encoding: unicode database: your_app_database_name pool: 5 username: postgres password: 你安装PostgreSQL时设置的登录密码 # 下面两行是Windows环境必须添加的配置 host: localhost port: 5432
- 确认Windows本地PostgreSQL服务处于运行状态:按
Win+R输入services.msc打开服务管理器,找到对应PostgreSQL服务,若状态为未启动则右键点击「启动」 - 回到项目根目录重新执行
rails server即可正常启动
补充说明
如果你是在WSL(Windows Subsystem for Linux)环境下运行Rails,该报错属于Linux子系统内的PostgreSQL服务未启动,直接在WSL终端执行sudo service postgresql start即可解决。
内容的提问来源于stack exchange,提问作者Prasad Babar
相关产品推荐
相关产品推荐

