首页 > 技术文章 > [database] postgresql 外网访问

zelos 2017-07-08 21:37 原文

配置

环境

ubuntu 14.04 LTS

版本

postgresql version 9.3

修改监听地址

编辑 /etc/postgresql/9.3/main/postgresql.conf

listen_addresses = '*'

修改访问验证方式

编辑/etc/postgresql/9.3/main/pg_hba.conf, 添加下列行

host    all             all             0.0.0.0/0                 md5

不希望所有ip都能访问,修改0.0.0.0/0

遇到的问题

django.db.utils.OperationalError: could not connect to server: Connection refused
    Is the server running on host "XXX.XXX.XXX.XXX" and accepting
    TCP/IP connections on port 5432?

客户端访问的默认的端口是 5432, 当时server 开的端口不一定就是这个端口,可以使用netstat 查看下postgresql监听的端口是什么

sudo netstat -lntp | grep postgres
tcp        0      0 0.0.0.0:5433            0.0.0.0:*               LISTEN      1962/postgres
tcp6       0      0 :::5433                 :::*                    LISTEN      1962/postgres

这里监听的端口是 5433 而不是 5432, 需要修改client访问的配置或者修改postgresql的工作端口设定

推荐阅读