远程连接到在Ubuntu上运行的postgres

时间:2016-11-11 12:41:56

标签: postgresql

我努力在Ubuntu上运行的Postgres上启用远程连接。我已完成以下步骤:

  1. 打开防火墙;运行sudo netstat -ntlp | grep LISTEN给了我:
    tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      2947/postgres
    
  2. 在listen_addresses中添加到postgresql.conf:
    listen_addresses='*'            # what IP address(es) to listen on;
                                    # comma-separated list of addresses;
                                    # defaults to 'localhost'; use '*' for all
    
  3. 在pg_hba.conf的连接表中添加如下:
    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    
    # "local" is for Unix domain socket connections only
    local   all             all                                     peer
    

我可以在本地连接,但我无法远程连接;甚至没有通过telnet连接工作。它只是说连接被拒绝了。有没有人知道问题的原因?

感谢。

干杯,
尼尔

1 个答案:

答案 0 :(得分:0)

  • 重新启动postgres
  • 检查它是否正在侦听所有接口

    # netstat -lnp --tcp | grep postgres
    tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      6096/postgres
    

  • host行添加到pg_hba.conf

    host    all             all             0.0.0.0/0               md5
    

  • 为您的用户

    添加密码
    $ sudo -u postgres psql
    postgres=# \password username