无法连接到 Ubuntu VM 中的 PostgreSQL 运行
Trouble Connecting to PostgreSQL Running in a Ubuntu VM
我在 Vagrant/VirtualBox 的 Ubuntu/Bionic 框中创建了一个 PostgreSQL 运行 实例,Django 将在我的开发环境中使用它。在连接 DJango 之前,我想测试我使用终端或 pgAdmin 连接它的能力,只是为了确保它首先在那个端工作;我的想法是,如果我确信连接有效,我可以使以后的 Django 调试更容易;但是,我没有成功。
我试过编辑许多帖子建议的配置文件,但没有效果。但是,我可以通过 Vagrantfile 中分配的 ip ping 盒子,没有问题——但在使用 ping 10.1.1.1:5432
指定端口 5432 时却不行。我还可以在框中使用 psql,所以它是 运行。
我已确保在虚拟机上启用 ufw
,创建了允许端口 5432 的规则并确保它使用了 sudo ufw status
。我还确认我正在使用 psql
.
中的 show
命令编辑正确的文件
以下是当前的相关配置:
流浪文件:
Vagrant.configure("2") do |config|
config.vm.hostname = "hg-site-db"
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 1
end
config.vm.box = "ubuntu/bionic64"
config.vm.network "forwarded_port", host_ip: "127.0.0.1", guest: 5432, host: 5432
config.vm.network "public_network", ip: "10.1.1.1"
config.vm.provision "shell", inline: <<-SHELL
# Update and upgrade the server packages.
sudo apt-get update
sudo apt-get -y upgrade
# Install PostgreSQL
sudo apt-get install -y postgresql postgresql-contrib
# Set Ubuntu Language
sudo locale-gen en_US.UTF-8
SHELL
end
/etc/postgresql/10/main/postgresql.conf:
listen_addresses = '*'
/etc/postgresql/10/main/pg_hba.conf - 我知道这是不安全的,但我只是想找出它不起作用的原因,并计划返回并更正此问题:
host all all 0.0.0.0/0 trust
正如我们在评论中讨论的那样,您应该从转发端口定义中删除 host_ip,只保留来宾和主机端口。
我在 Vagrant/VirtualBox 的 Ubuntu/Bionic 框中创建了一个 PostgreSQL 运行 实例,Django 将在我的开发环境中使用它。在连接 DJango 之前,我想测试我使用终端或 pgAdmin 连接它的能力,只是为了确保它首先在那个端工作;我的想法是,如果我确信连接有效,我可以使以后的 Django 调试更容易;但是,我没有成功。
我试过编辑许多帖子建议的配置文件,但没有效果。但是,我可以通过 Vagrantfile 中分配的 ip ping 盒子,没有问题——但在使用 ping 10.1.1.1:5432
指定端口 5432 时却不行。我还可以在框中使用 psql,所以它是 运行。
我已确保在虚拟机上启用 ufw
,创建了允许端口 5432 的规则并确保它使用了 sudo ufw status
。我还确认我正在使用 psql
.
show
命令编辑正确的文件
以下是当前的相关配置:
流浪文件:
Vagrant.configure("2") do |config|
config.vm.hostname = "hg-site-db"
config.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 1
end
config.vm.box = "ubuntu/bionic64"
config.vm.network "forwarded_port", host_ip: "127.0.0.1", guest: 5432, host: 5432
config.vm.network "public_network", ip: "10.1.1.1"
config.vm.provision "shell", inline: <<-SHELL
# Update and upgrade the server packages.
sudo apt-get update
sudo apt-get -y upgrade
# Install PostgreSQL
sudo apt-get install -y postgresql postgresql-contrib
# Set Ubuntu Language
sudo locale-gen en_US.UTF-8
SHELL
end
/etc/postgresql/10/main/postgresql.conf:
listen_addresses = '*'
/etc/postgresql/10/main/pg_hba.conf - 我知道这是不安全的,但我只是想找出它不起作用的原因,并计划返回并更正此问题:
host all all 0.0.0.0/0 trust
正如我们在评论中讨论的那样,您应该从转发端口定义中删除 host_ip,只保留来宾和主机端口。