postgresql安装完成默认只支持本地连接,查看安装根路径下的/data/下面的pg_hba.conf,可以发现默认的配置。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     ident
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            ident
#host    replication     postgres        ::1/128                 ident

如果希望postgresql支持远程连接,则需对address项进行修改。找到“# IPv4 local connections:“后,回车另起一行,添加参数行如下,保存即可。
host    all             all             0.0.0.0/0                trust

postgresql配置远程连接和本地连接插图

另外,还要查看一下另外一个同目录下的配置文件postgresql.conf。将listen_address =“localhost” 引号里面改为*,即对所有地址监听。

监听网段

其中0.0.0.0/0表示监听所有已知和位置的网段,在ipv4下面添加的0.0.0.0/24这个是对全网段的许可,24表示的是子网掩码。

CIDR-ADDRESS(用户的IP范围)的值的格式是:IP/数值
     数值取值范围为:0,8,16,24,32 即表示掩码bit的个数;
     例如:
      32 -> 192.168.1.1/32 表示必须是来自这个IP地址的访问才合法;
      24 -> 192.168.1.0/24 表示只要来自192.168.1.0 ~ 192.168.1.255的都合法;
      16 -> 192.168.0.0/16 表示只要来自192.168.0.0 ~ 192.168.255.255的都合法;
      8   -> 192.0.0.0/16 表示只要来自192.0.0.0 ~ 192.255.255.255的都合法;
      0   -> 0.0.0.0/0 表示全部IP地址都合法,/左边的IP地址随便了只要是合法的IP地址即可;

这里很多人都将后面的ident为MD5的认证方式,可能会导致FATAL: password authentication failed for user “postgres”错误的出现。
其实这个错误的根本原因就是:用户密码认证错误引起的,因为postgresql安装完成之后,默认的就是md5的认证方式,正确的方式就是直接使用trust就ok了.



postgresql配置远程连接和本地连接插图1

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://choupangxia.com/2020/07/01/postgresql-localhost/