pgsql配置密码复杂度策略

配置pgsql的密码策略主要用到的是passwordcheck.so,保证passwordcheck.so在/usr/pgsql-15/lib下即可配置,/usr/pgsql-15/lib为例,具体以实际路径为主

1、要配置密码复杂度策略需要安装readline库和zlib库

#安装readline库,zlib库

bash 复制代码
yum install readline-devel zlib-devel

2、查找pgsql的实际相关路径,配置密码策略

#查询pg_config文件位置

bash 复制代码
find / -name pg_config

将查询到的pg_config路径配置环境变量

bash 复制代码
export PATH=$PATH:/usr/pgsql-15/bin

#使环境变量生效

bash 复制代码
source ~/.bashrc

#测试pg_config是否生效,输入pg_config后有信息显示

使用pg_config查看pgsql的相关路径

bash 复制代码
pg_config

找到LIBDIR路径并进入

bash 复制代码
cd /usr/pgsql-15/lib

ls查看有无passwordcheck.so

3、有passwordcheck.so则可以配置密码策略,有两种方式配置(一般yum安装/usr/pgsql-15/lib中都会有此模块)

一是进入到postgresql的控制台配置

#配置shared_preload_libraries

bash 复制代码
postgres=# alter system set shared_preload_libraries='passwordcheck';

配置完成后保存退出,重启数据库并查看pg运行状态

bash 复制代码
systemctl restart postgresql-15
systemctl status postgresql-15

#查看配置是否生效,进入postgresql控制台

bash 复制代码
postgres=# show shared_preload_libraries;
 shared_preload_libraries 
--------------------------
 passwordcheck

若输出passwordcheck则证明配置成功。

二是直接在postgresql.conf中配置密码策略

bash 复制代码
vim /var/lib/pgsql-15/data/postgresql.conf

找到shared_preload_libraries并配置

bash 复制代码
shared_preload_libraries =  'passwordcheck'

配置完成后保存退出,重启数据库并查看pg运行状态

bash 复制代码
systemctl restart postgresql-15
systemctl status postgresql-15

#查看配置是否生效,进入postgresql控制台

bash 复制代码
postgres=# show shared_preload_libraries;
 shared_preload_libraries 
--------------------------
 passwordcheck

若输出passwordcheck则证明配置成功。

4、无passwordcheck.so可能是使用二进制编译安装,需要找到编译过的pgsql二进制包下的/contrib/passwordcheck/目录中寻找,

将其复制到/usr/pgsql/lib中,此路径/usr/pgsql/lib为例,以你服务器pg_config输出的实际路径为准

后续操作与上面两种有passwordcheck.so的配置方式一致

相关推荐
这个DBA有点耶4 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G4 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备4 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远4 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
geovindu4 天前
sql: Transaction & Concurrency Patterns using postgresql 18
postgresql·数据库开发·数据库架构
2601_962218614 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren4 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安4 天前
MySQL-触发器
数据库·mysql
白远山4 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
Omics Pro4 天前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理