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

时间:2018-10-04 17:59:07

标签: django postgresql virtualbox vagrantfile

我创建了一个PostgreSQL实例,该实例在Vagrant / VirtualBox的Ubuntu / Bionic框中运行,Django可以在我的开发环境中使用它。我想在连接DJango之前测试通过终端或pgAdmin连接到它的能力,以确保它首先在该端工作。我的想法是,如果我确信连接可以工作,那么以后可以简化Django调试;但是,我没有成功。

我尝试编辑许多帖子建议的配置文件,但没有任何效果。但是,我可以通过在Vagrantfile中分配的ip来ping通此框,而不会出现问题-但是在用ping 10.1.1.1:5432指定端口5432时不能。我也可以在框中使用psql,因此它正在运行。

我确保在vm上启用ufw,创建了允许端口5432的规则,并确保使用sudo ufw status占用了端口。我还确认了我正在使用show中的psql命令编辑正确的文件。

以下是当前的相关配置:

Vagrantfile:

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

1 个答案:

答案 0 :(得分:1)

正如我们在评论中讨论的那样,您应该从转发的端口定义中删除host_ip,而仅保留来宾端口和主机端口。