有人能指出为什么我无法从主机上连接到客户端的PGSQL吗? (流浪汉)

时间:2015-08-13 17:27:33

标签: ruby-on-rails postgresql vagrant

我一直在研究这个问题......这个问题之前已被问过几次(链接如下)。

Another Similar Question with PGSQL, Vagrant, Induction

Same question except with pgAdmin

Connecting to Vagrant PGSQL from Host

我已阅读Networkingenter link description here的Vagrant文​​档。另外,我尝试使用这个有用的链接http://www.revsys.com/writings/postgresql/errors.html来解决我的问题,但它仍无效。

我遇到的错误就是这个

Is the server running on host "192.168.50.4" and accepting
TCP/IP connections on port 5432?

我所拥有的是带有rails应用程序的Mac OSX,我有一个运行PGSQL 9.2.6的流浪汉环境。 vagrant和我的Mac OSX上的数据库是具有确切用户,权限和架构的相同数据库。

我想做的是让我的rails应用程序连接到流浪者上的9.2.6 PGSQL。

以下是我的rails app的database.yml文件片段:

DB_HOST = "192.168.50.4" #This ip is taken from vagrant example
DB_NAME = "testing"
DB_USERNAME = "postgres_user"
DB_PASSWORD = "password"
DB_PORT = "5432"

我的Vagrantfile看起来像这样:

Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.network "private_network", ip: "192.168.50.4"
end

我的postgresql正在运行,如pas aux | grep postgres

所示

似乎导致问题的原因必须是pg_hba.conf文件或postgresql.conf文件。

我将listen_address设置为'*'

listen_address = '*'
port = 5432
max_connections = 100

从其他堆栈溢出问题似乎是问题,但它仍然不适合我。

这是我的pg_hba.conf

local   all             postgres                                trust

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                    trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# Connecting to postgresql on vagrant from ohloh and ohloh-ui
host    openhub_testing  all          192.168.50.4/32        trust
# IPv6 local connections:
host    all             all             ::1/128                 md5

虽然我确实在我的database.yml中指定了用户和密码,但我无论如何都要信任,因为我在从vagrant连接到pgsql时遇到了问题。

任何人都可以指出我还没有尝试过的东西。我没有选择尝试。非常感谢。

1 个答案:

答案 0 :(得分:0)

解决方案确实是pg_hba.conf文件。而不是192.168.50.4/32,我需要添加192.168.50.1/32。