db_ha集群中某个节点启动失败,报错缺少sm4加密模块

文章目录

环境

系统平台:Linux x86-64 Red Hat Enterprise Linux 8

版本:4.5.1

症状

使用命令 pg_ctl start 启动db_ha集群中的一个节点上的数据库报错,

查看数据库日志,日志中无关于此次启动的任何信息输出。

数据目录中postgresql.conf、postgresql.auto.conf 等配置文件为空文件

报错信息如下,提示缺少加密模块。

复制代码
pg_ctl  start

等待服务器进程启动 ....
2025-07-16 15:51:10.468 CST [15752] FATAL:  database files are encrypted
2025-07-16 15:51:10.468 CST [15752] DETAIL:  The database cluster was initialized with encryption but the server was started without an encryption module.
2025-07-16 15:51:10.468 CST [15752] HINT:  Set the encryption module using encryption_library configuration parameter.
 已停止等待
pg_ctl: 无法启动服务器进程
检查日志输出.

问题原因

数据库为db_ha两节点集群,sm4加密。

启动失败的节点之前一个月一直处于关机状态,且关机前为主库。

由于较长时间未开启,再次开启时db_ha将其降为备库,且做rewind修复数据。

因rewind未正常结束,导致postgresql.conf为空文件,

数据库启动时找不到参数encryption_library = 'sm4'

解决方案

由于该节点数据已完全损坏,需要重新拉取数据,重做备库。

1.更改数据目录名称

mv /data/highgo/data_bak_yyyymmdd

2.新建数据目录

mkdir /data/highgo/data

3.拉取数据

pg_basebackup -h 主库IP -U sysdba -D /data/highgo/data -Fp -Xs -R -P -v

4.启动备库

pg_ctl start

5.主库上查看流复制状态

select * from pg_stat_replication;

6.主库上查看复制槽

select * from pg_replication_slots;

7.在备库上添加复制槽

alter system set primary_slot_name = 'xxxx'; -- 根据上面的查询填写

select pg_reload_conf();

8.切换主节点

db_ha switchover xxx.xxx.xxx.xxx # 原备节点IP

9.新主库创建复制槽

select * from pg_create_physical_replication_slot('db_ha_slot_2');

10.新备库添加复制槽

alter system set primary_slot_name = 'db_ha_slot_2';

11.主库上查看流复制状态

select * from pg_stat_replication;

报错编码

15752

相关推荐
crisps_ww1 分钟前
自媒体运营分析-BI可视化仪表盘制作
数据库
Geek-Chow13 分钟前
微服务认证与授权:01 — 概念
java·前端·数据库
烤代码的吐司君42 分钟前
Redis IO 多路复用原理与引入原因深度解析
数据库·redis·php
Database_Cool_2 小时前
单库瓶颈解决方案首选:阿里云 PolarDB-X 平滑替代分库分表
数据库·阿里云
2503_931712482 小时前
10m/s超高速电梯:西奥XO-NEWIII如何树立行业速度标杆
java·大数据·数据库
无小道2 小时前
Redis——redis和mysql的数据同步
数据库·redis·mysql
AI的探索之旅2 小时前
从 Ubuntu 14.04 到 24.04:TI AM335x 开发环境完整迁移与 Agent 接管方案
linux·数据库·嵌入式硬件·ubuntu·postgresql
辰合软件3 小时前
通达OA目录结构与核心文件解析
android·数据库·oracle
名不经传的养虾人3 小时前
从0到1:企业级AI项目迭代日记 Vol.61|记忆不是越多越好,装一道门比装满更重要
数据库·人工智能·ai编程·ai工作流·企业ai
霸道流氓气质4 小时前
Harness Engineering 从理论到实战:基于 Spring AI Alibaba 的完整实现指南
数据库·人工智能·spring·harness