连接到在 Ubuntu VM 中运行的 PostgreSQL 时出现问题



我已经创建了一个在Vagrant/VirtualBox的Ubuntu/Bionic框中运行的PostgreSQL实例,Django将在我的开发环境中使用该实例。我想在连接 DJango 之前测试我与终端或 pgAdmin 连接它的能力,只是为了确保它首先在该端工作;这个想法是,如果我确信连接有效,我可以使以后的 Django 调试更容易;但是,我没有成功。

我尝试编辑许多帖子建议的配置文件,但没有效果。但是,我可以通过 Vagrantfile 中分配的 ip 对框进行 ping 操作,没有问题 - 但在使用 5432 指定端口ping 10.1.1.1:5432时则不行。我也可以从盒子里使用 psql,所以它正在运行。

我已确保在 VM 上启用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,只保留来宾和主机端口。

最新更新