当前位置: 首页 > 知识库问答 >
问题:

Postgresql适配器(pg):无法连接到服务器

刘兴朝
2023-03-14

每次运行Rails应用程序时都会出现此错误(它无法连接到本地Postgresql)

/Users/leonardo/.rvm/gems/ruby-1.9.3-p362/gems/activerecord-3.2.11/lib/
active_record/connection_adapters/postgresql_adapter.rb:1208:in `initialize': 
could not connect to server: No such file or directory (PG::Error)
   Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?

我在用Postgres。它正在正确运行的应用程序。

如果我跑

$ psql

我可以正确登录到Postgreql控制台。

$ which psql
 /Applications/Postgres.app/Contents/MacOS/bin/psql

宝石文件

source 'https://rubygems.org'
ruby "1.9.3"

gem 'rails', '3.2.11'
gem "pg"

数据库yml

development:
  adapter: postgresql
  encoding: unicode
  username: leonardo
  password: 
  database: zapping
  port: 5432  

Postgreql(控制台)

$ psql
leonardo=# \l

共有3个答案

裴姚石
2023-03-14

如果在添加host:localhost后仍然无法工作,请删除postmaster.pid

rm /usr/local/var/postgrespostmaster.pid

蓝恩
2023-03-14

您的Pggem是根据Mac OS X中预安装的PostgreSQL libpq编译的,您使用的是较新版本中安装的psql,反之亦然。

这可以通过指定TCP/IP连接、将localhost添加到数据库来解决。yml,但最好针对实际运行的服务器编译Pggem。为此,您应该能够在编译之前将PATH环境变量设置为文件夹,其中包含正确的pg_config。在您的情况下,这将是Postgres中的某个地方。应用程序

姜弘新
2023-03-14

尝试添加host:localhost到您的database.yml.(基于:https://stackoverflow.com/a/10793186/919641)

 类似资料:
  • 每次运行Rails4.0服务器时,都会得到这个输出。 我正在运行小牛OS X10.9,所以我不知道这是不是问题所在。我已经试了我能试的一切,但似乎都没有效果。我已经卸载并安装了postgres和pg gem多次了。 这是我的database.yml文件

  • 有很多类似的问题,但都略有不同。 Gemfile: Rails 4.2.6并在返回的命令行中执行: <code>PG::ConnectionBad(无法连接到服务器:没有这样的文件或目录。服务器在本地运行并接受Unix域套接字上的连接“/tmp/.s.PGSQL.5432”? 在启动rails服务器并尝试加载根路径之后,在浏览器中也得到了相同的结果。 我发现在命令行中执行也不起作用,返回:

  • 我试图通过ubuntu中的命令行连接到postgresql,但它显示以下错误:- 对于这个错误,我尝试了谷歌的许多解决方案,但都没有成功。有人能在这个问题上帮我吗?

  • 我有一个简单的网页Ruby On Rails与postgresql数据库,但当我运行服务器我有这个错误,我不知道我这样做。我使用postgresql是因为heroku需要应用程序在postgresql中。 我在ubuntu 13.10工作 错误是: PG::Concertionbad无法连接到服务器:没有这样的文件或目录服务器是否在本地运行并接受Unix域套接字"/var/run/postgres

  • 我在设置打开班次时遇到问题,并在连接到我的服务器域后收到以下错误: 我不确定这是在告诉我做什么。我尝试按字面意思使用指令,但它无法识别命令。 有什么想法吗?

  • 问题内容: 我不确定如何解决此问题 我不知道为什么在尝试以下操作时会出现此错误: 当我尝试连接到postgres时: 问题答案: 可能是一些问题: PostgreSQL没有运行。用sudo检查 你的PostgresSQl不在端口5432上运行。你可以检查其键入 尝试连接到数据库时出现错误,例如用户名,密码或数据库名。检查它们是否是postgres要求你连接的对象,并且这是你要访问的db_name。