gpt4 book ai didi

ruby-on-rails - Ruby on Rails 和 Postgresql - 服务器正在运行,但我收到无法连接到服务器错误

转载 作者:行者123 更新时间:2023-11-29 14:28:25 28 4
gpt4 key购买 nike

问题:PostgreSQL 服务器正在运行,但是当我运行 rake db:migrate 时,我得到一个 ConnectionBad: 无法连接到服务器错误。我该怎么做才能修复此错误?

更新 - Database.yml 文件

为了匿名,我删除了文件中的一些要点。

default: &default
adapter: postgresql
pool: 5
timeout: 5000

development:
adapter: postgresql
encoding: unicode
database: db_development
pool: 5
username:
password:

test:
adapter: postgresql
encoding: unicode
database: db_test
pool: 5
username:
password:

production:
adapter: postgresql
encoding: unicode
database: db_production
pool: 5
username:
password:

我查看了 API 并尝试实现答案,但没有任何效果。

当我运行 pg_lsclusters 时,我被告知:

Ver Cluster Port Status Owner    Data directory              Log file
10 main 5433 online postgres /var/lib/postgresql/10/main
/var/log/postgresql/postgresql-10-main.log

所以它在线,我通常以 sudo service postgresql start 启动服务器。

但是,当我尝试运行 rake db:migrate 时,出现错误:

PG::ConnectionBad:无法连接到服务器:没有那个文件或目录
服务器是否在本地运行并接受
Unix 域套接字“/var/run/postgresql/.s.PGSQL.5432”上的连接?

我以前没有遇到过这个错误,会不会是我卸载错了postgresql?

我是这样做的:sudo apt-get updatesudo apt-get install postgresql postgresql-contrib libpq-devgem 安装 pg

在 Ruby on Rails 应用程序中:

捆绑安装捆绑更新

一切都安装完美,所以我只是不知道我做错了什么,因为我之前在另一台计算机上完成了这些步骤并且它工作正常。

最佳答案

您需要将port: 5433 添加到您的database.yml。

默认的 PostgreSQL 端口是 5432,但是你的 pg_lsclusters 命令说服务器在 5433 上运行。这就是为什么 Rails 找不到在 localhost:5432 上运行的服务器的原因。

关于ruby-on-rails - Ruby on Rails 和 Postgresql - 服务器正在运行,但我收到无法连接到服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55174855/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com