postgresql配置远程连接和本地连接
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.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了.
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:https://choupangxia.com/2020/07/01/postgresql-localhost/