我在macOS上的Vagrant centos 7.2上運行postgresql。我已經確認postgres已經啓動並運行在端口5432上的Vagrant框中,通過在框上使用psql
連接到它。我試圖如下對流浪箱轉發端口5432到10001端口我的主機上:在macOS上流浪的端口?
config.vm.define "acc_db" do | acc_db |
acc_db.vm.box = "bento/centos-7.2"
acc_db.vm.hostname = "acc.db"
acc_db.vm.network :forwarded_port, guest: 5432, host: 10001
acc_db.vm.provision "shell",
inline: "yum upgrade -y -q --nogpgcheck"
acc_db.vm.provision "shell",
path: "install_postgres.sh"
我已經改變了我的pg_hba.conf
綁定到所有的IP地址,並允許密碼驗證,如下圖所示:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 ident
我已經關閉了防火牆,但我仍然無法連接到的Postgres上10001端口的主機上:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.10001"?
我該如何解決這個問題,使端口轉發工程?
我見過https://gielberkers.com/fixing-vagrant-port-forwarding-osx-yosemite/但由於涉及感人的文件我不熟悉還沒有嘗試過。這是正確的方法嗎?看起來你必須明確允許你想通過Vagrant轉發的每個端口。
謝謝。我把-h選項放在:'psql -h 127.0.0.1 -p 10001 -u username',我得到'psql:server意外地關閉了連接。我在postgres日誌中看不到任何錯誤。 – user783836
@ user783836:你在'postgresql.conf'中有'listen_addresses ='*''來讓它監聽所有的接口嗎? –
太棒了!這工作謝謝! – user783836