无法连接到 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,只保留来宾和主机端口。