0

我正在尝试连接到来宾机器内部的 PostgreSQL 数据库(使用 Vagrant 和 VirtualBox)。

我正在尝试使用Induction连接它,但我收到一条错误消息:

Connection Error
Could not connect to server: Permission denied
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.1234"

我让 Vagrant 在我的主机上将端口转发到端口 1234。

我对感应连接的设置是:

Adapter: postgres
Host Name: 127.0.0.1
Username: vagrant
Password: [i don't have a password for the vagrant user for postgres so leaving empty]
Port: 1234
Database: development

开发数据库是由 Rails 使用创建的rake db:create:all,我知道它可以工作,因为我从 Rails db 控制台看到它。

在我的 postgresql.conf 文件中,我也设置listen_addresses'*'监听外部机器。

我究竟做错了什么?

编辑(添加我的 pg_hba.conf):

# Database administrative login by Unix domain socket
local   all             postgres                                peer

# 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            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

编辑(这是尝试连接时从 Induction 应用程序显示的错误)

could not connect to server: Permission denied
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.1234"
4

2 回答 2

1

检查文件 pg_hba.conf 看起来需要允许连接最简单和不太安全的设置“信任”(每个人都可以使用你的 postgresql) http://www.postgresql.org/docs/9.2/static/auth-pg-hba-conf。 html

于 2013-09-10T20:45:13.957 回答
0

当 PostgreSQL 服务未运行时,我已经看到了该连接错误。

检查 PostgreSQL 服务的状态:sudo service postgresql status

启动服务:sudo service postgresql status

于 2014-08-14T06:07:17.897 回答