PG控制文件的管理与重建

一.控制文件位置与大小

逻辑位置:pgpobal 表空间中

物理位置:PGDATA/global/pg_control --pg_global表空间的物理位置就在PGDATA/global文件夹下

物理大小:8K

二.存放的内容

1.数据库初始化的时候生成的永久化参数,无法更改的参数。
比如:版本号,数据库块的大小。
2.实例初始化参数文件(postgresql.conf)中的配置信息
3.可以更改的信息:比如检查点信息

三.控制文件的维护

1.控制文件的信息随时更新,如果发生检查点,备份,日志切换,则自动更新

2.初始化参数文件(postgres.conf)文件中的相关参数被修改,也会自动更新

3.数据库备份的时候会一起备份

4.该文件是二进制文件

四.控制文件重建

使用pg_resetwal工具。

模拟控制文件丢失:

1.寻找 -l 参数:

在pg_wal 目录下寻找最大的日志文件号,让它+1

如图中就变成:000000010000000000000002

2.寻找 -o 参数:

如图中,(0+1)*65536 再转换成16进制,再在末尾加上四个0 ------->0x1000000000。

3.寻找 -m参数:

直接最大编号+1 ,再加上四个0, 如图变成0x00010000,0x00010000。

4.寻找 -x参数

最大文件号+1,再在后面加五个0.

如图变成 0x00010000

5.touch一个新的控制文件

执行语句

复制代码
pg_resetwal -l 000000010000000000000002 -O 0x1000000000 -m 0x00010000,0x00010000 -x 0x00010000 -f $PGDATA
相关推荐
余槐i2 分钟前
WAL 下写并发仍是 1:SQLite 单写者模型实测与绕开方案
数据库·python·性能优化·sqlite·wal
阳光九叶草LXGZXJ8 小时前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习
字节渡客9 小时前
Redis键明明过期了,业务还在读到旧数据
数据库·redis·spring
OnlineProxy11 小时前
亚马逊多账号运营:如何在规避“关联封号”风险的同时实现电商规模化扩张
服务器·数据库·redis
辻弋20112 小时前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
可乐鸡翅yeah_13 小时前
业务中 M3U8 水印相关坑,硬水印和动态水印区别
前端·网络·数据库·ffmpeg·m3u8在线
石头麻辣鱼14 小时前
Bamboo 调度系统 OceanBase 适配实战:存储过程迁移踩过的三个大坑
数据库
龙亘川14 小时前
数智驱动民政升级 精准守护民生保障
大数据·数据库·人工智能
念何架构之路14 小时前
zap扩展生态与总结
java·前端·数据库
晚安日记wanna15 小时前
MySQL 回表为什么这么慢?5 种优化手段逐个拆解
数据库·mysql·性能优化