我正在尝试连接到来宾机器内部的 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"