暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PG配置文件pg_hba.conf详解

IT 邦德 2021-08-11
2779
作者:IT邦德
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
(Web\java\Python)工作,主要服务于生产制造
现拥有 Oracle 11g  OCP/OCM、
Mysql、Oceanbase(OBCA)认证
分布式TBase\TDSQL数据库、
国产达梦数据库以及红帽子认证
从业8年DBA工作,在数据库领域有丰富的经验

微信;jem_db
QQ:2243967774

目前PG的最新版本已经更新到了13.3,在连接客户端的时候,有authentication method 10 not supported这样的报错,故整理了以下参数文件的解读及处理方式,供大家参考

1.现象

PG 13.3版本客户端连接报如下错误
authentication method 10 not supported
查看官网说明,总结出如下解决方案

2.处理方法

2.1 查看版本

postgres=# select version();
postgres=# show  server_version;

2.2 查看用户加密算法

postgres=# show password_encryption ;

从上图可以看出,最新的PG13.3加密算法已做了更改,故需要调整参数文件

# TYPE  DATABASE    USER    ADDRESS       METHOD
local     all       all                    trust
host      all       all   127.0.0.1/32     trust
host      all       all    0.0.0.0/0        md5
host   replication  all    0.0.0.0/0        md5
local  replication  all                    trust

说明如下:
每一行的格式为:
连接方式 连接的数据库 连接的用户 连接的主机IP 认证方式

【连接方式】
local
这条记录匹配通过 Unix 域套接字进行的联接企图
host
这条记录匹配通过TCP/IP网络进行的联接尝试

【认证方法】
trust:无条件地允许联接,不需要口令
reject:联接无条件拒绝,常用于从一个组中"过滤"某些主机
md5:要求客户端提供一个 MD5 加密的口令进行认证
password:高级的加密方式使用(PG13.3需要用这种方式scram-sha-256)

2.3 修改参数文件

host    all         all    0.0.0.0/0       password

##重新加载配置文件
postgres=# SELECT pg_reload_conf(); 

postgres=# SELECT name,setting,source,enumvals FROM pg_settings WHERE name = 'password_encryption';

再次客户端连接OK

IT邦德PG开课信息

邦老师PG均为实战,提供视频及文档 小伙伴们想报名的联系微信:jem_db

上课时间(每周六、二、四)

学习PG的好处

1.PG是数据库管理系统,发展已有三十多年,是国际内核编码者的智慧结晶,并仍在不断迭代更新,基本每年都会有一个更完善的大版本发布(2019-10-03-PostgreSQL 12已发布);

2.PG是基础软件,不仅对企业的数据管理起着非常关键的作用,而且随着技术的发展,能适用于多种领域、多种架构; 

3.PG是开源软件,有着友好的开源协议,可以获取源代码深入学习(源代码是C语言实现),还可以获得乐于分享的技术前辈的资源与帮助;

4.PG可以发挥的空间比较大,可以根据自己的兴趣参与数据建模、DB运维、应用或系统开发;


说到发挥空间,谈谈PG学以致用的三个方面:

1) 会使用,用的熟练,成为运维管理、数据库应用能手;

2) 会修改,改成适合自己业务场景的数据库,变成开发能力者;

3) 会重造,重造一个更好的数据库产品,开启数据库发展的新篇章。


文章转载自IT 邦德,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论