Windows 10系统下如何连接PostgreSQL与Ruby on Rails?求2021年适用操作指南
Windows 10 下 Ruby on Rails 与 PostgreSQL 连接配置操作指南(2021适用)
前置版本要求
2021年适用的稳定兼容版本组合如下:
- Ruby 2.7+/3.0+
- Rails 6.1+
- PostgreSQL 13/14
- pg gem 1.2.3+
第一步:安装并配置PostgreSQL
- 运行PostgreSQL Windows安装包,安装过程中记录默认超级用户
postgres的密码,端口保留默认5432即可 - 安装完成后将PostgreSQL的bin目录(默认路径为
C:\Program Files\PostgreSQL\13\bin)添加到系统环境变量Path中 - 打开cmd验证配置生效:执行
psql --version,正常输出版本号即为配置成功 - (可选)创建项目专用数据库用户:打开psql命令行,执行
CREATE USER your_username WITH PASSWORD 'your_password' CREATEDB;,为用户授予建库权限,方便Rails自动创建开发/测试数据库
第二步:配置Rails项目数据库连接
新建项目场景
执行命令直接指定PostgreSQL为默认数据库:rails new your_project_name -d postgresql
已有项目修改场景
- 打开项目根目录下的Gemfile,将默认的sqlite3 gem替换为
gem 'pg', '~> 1.2.3',执行bundle install完成依赖安装 - 打开
config/database.yml文件,参考以下模板修改配置,替换为你自己的用户名、密码即可:
以下配置适配Rails 6.1+版本
default: &default adapter: postgresql encoding: unicode pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: your_username password: your_password host: localhost port: 5432 development: <<: *default database: your_project_name_development test: <<: *default database: your_project_name_test production: <<: *default database: your_project_name_production username: your_project_name password: <%= ENV['YOUR_PROJECT_NAME_DATABASE_PASSWORD'] %>
第三步:验证连接有效性
- 在项目根目录下执行
rails db:create,无报错且成功创建开发、测试两个数据库即代表连接配置正常 - 后续可执行
rails db:migrate运行数据库迁移,进一步验证功能可用性
常见问题排查
- 若提示
PG::ConnectionBad: could not connect to server:打开Windows服务管理器,确认postgresql-x64-13服务处于正在运行状态 - 若提示密码验证失败:检查database.yml中填写的密码与PostgreSQL用户设置的密码是否一致,确认对应用户拥有目标数据库的访问权限
内容的提问来源于stack exchange,提问作者user16336116
相关产品推荐
相关产品推荐

