ActiveRecord::ConnectionNotEstablished:PostGreSQL

问题描述 投票:0回答:1

我在 Windows 11 上工作 胚芽版本 `

红宝石“2.7.3”

改为捆绑边缘 Rails:gem“rails”,github:“rails/rails”,分支:“main”

宝石“导轨”,“〜> 7.0.7”

使用 postgresql 作为 Active Record 的数据库

gem "pg", "~> 1.1" `

当我第一次尝试迁移数据库迁移时,它开始显示错误

` 铁轨已中止! ActiveRecord::ConnectionNotEstablished:连接到“localhost”(::1) 处的服务器,端口 5432 失败:连接被拒绝 (0x0000274D/10061) 服务器是否在该主机上运行并接受 TCP/IP 连接? 连接到“localhost”(127.0.0.1) 处的服务器,端口 5432 失败:连接被拒绝 (0x0000274D/10061) 服务器是否在该主机上运行并接受 TCP/IP 连接?

原因: PG::ConnectionBad: 连接到“localhost”(::1) 处的服务器,端口 5432 失败:连接被拒绝 (0x0000274D/10061) 服务器是否在该主机上运行并接受 TCP/IP 连接? 连接到“localhost”(127.0.0.1) 处的服务器,端口 5432 失败:连接被拒绝 (0x0000274D/10061) 服务器是否在该主机上运行并接受 TCP/IP 连接?

任务:TOP => db:migrate (通过使用 --trace 运行任务查看完整跟踪)
`

我尝试重新安装pg, 我在服务中找不到 postgresql 也无法重新启动。 我尝试更改端口,仍然不起作用

ruby-on-rails postgresql rubygems database-connection
1个回答
0
投票

问题是你没有安装postgress。 pg gem 只是你的项目和 postgress 之间的适配器(通信层)。你需要单独安装和设置 postgress,谷歌上有很多教程。 ChatGPT 还可以提供许多有关 postgres 安装的有用说明。以下是您应该完成的基本步骤:

  1. 您需要首先在 Rails 项目之外的机器上安装 postgres。
  2. 您需要启动 postgres 服务才能接收来自 Rails 应用程序的请求
  3. 您需要启动 plsql 控制台并创建一个带有密码的 db 用户,并授予他在 db 中进行所有更改的权限
  4. 在项目的database.yml 文件中,您应该将该用户和密码放入配置中
  5. 重新启动你的 Rails 项目,这样就可以了。
© www.soinside.com 2019 - 2024. All rights reserved.