当前位置: gth163->优技培训 > PG技术大讲堂 - 第14讲:PostgreSQL 检查点

PG技术大讲堂 - 第14讲:PostgreSQL 检查点

2023-04-23作者:gth163来源:www.gth163.com

PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。

Part 14:PostgreSQL检查点

内容1:检查点触发机制

内容2:检查点作用

内容3:检查点如何工作

内容4:检查点如何调整


检查点处理过程

· 检查点触发机制

在PostgreSQL中,检查点(后台)进程执行检查点;当发生下列情况之一时,其进程将启动: ? 检查点间隔时间由checkpoint_timeout设置(默认间隔为300秒(5分钟)) ? 在9.5版或更高版本中,pg_xlog中WAL段文件的总大小(在10版或更高版本中为pg_WAL)已超过参数max_WAL_size的值(默认值为1GB(64个16MB文件))。 ? PostgreSQL服务器在smart或fast模式下关闭。 ? 手动checkpoint。


检查点作用

· 为什么需要检查点

所有的数据库几乎都有检查点机制,为什么需要检查点呢,有以下几个作用:

1、定期保存修改过的数据块(保护劳动果实)

检查点发生时,检查点进程会把共享缓冲区中的脏块(被修改过的块)写入磁盘,永久保存,否则如果发生主机断电等故障,内存中的数据块就会丢失,该检查点的发生频率由checkpoint_timeout控制,定期发生。

2、做为实例恢复时起始位置

如果发生实例崩溃,那么下一次启动时则需要进行实例恢复,数据库根据最近一次检查点的位置作为起始位置开始recovery。

3、做为介质恢复时起始位置

每次进行物理备份时都会发生一个检查点,用来判断将来进行恢复时的起始位置,因为备份时数据文件是有先后顺序,备份出来的数据文件是不一致的,将来恢复出来后需要应用归档日志把他们变成同步,开始备份的位置就是将来recovery的位置。


XLOG 写记录

· 检查点工作流程


检查点记录位置

· 控制文件

控制文件中记录了检查点的相关信息 ? Latest checkpoint location –最新检查点记录的LSN位置。 ? Prior checkpoint location –先前检查点记录的LSN位置。


pg_control File

· 控制文件

控制文件中记录的检查点相关信息

postgres> pg_controldata /usr/local/pgsql/data

pg_control 最后修改: 2022/10/25 10:36:29

最新检查点位置: 0/65441F8

最新检查点的 REDO 位置: 0/65441F8

最新检查点的重做日志文件: 000000010000000000000006

最新检查点的 TimeLineID: 1

最新检查点的PrevTimeLineID: 1

... snip ...


Database Recovery

· 利用检查点做为recovery的起始位置


检查点调整

? 检查点发生的间隔时间决定了实例恢复需要的时长,checkpoint_timeout设置的值应该根据业务的需求设置,以实例崩溃时,下一次打开数据库时长的容忍度而设置。

? 间隔时间短,则实例恢复需要的时间就短,可提高数据库的可用性,但是会增加I/O操作,降低数据库状态性能,检查点发生时属于密集型I/O操作,会占用大量系统资源。

? 间隔时间长,则实例恢复需要的时间就长,会降低数据库的可用性,但是会减少I/O操作,提高数据库状态性能。

checkpoint_completion_target

? 数据库中一个至关重要的参数,主要与参数checkpoint_timeout(checkpoint_timeout)配合使用,值越小意味着检查点要越快完成,要求写得要快。

? 控制每次检查点发生时i/o的吞吐量,值越高,则i/o占用的资源越少,数据库性能越好;值越低,则i/o占用的资源越多,影响数据库性能,但是提高检查点完成速度。

往期视频和教程,联系cuug

  • 7月26日,工信部人才交流中心PostgreSQL认证【纸质证书】到了!
  • PostgreSQL PG夜话(第21期):数据库老陈和德哥 聊一聊“Data+AI”
  • PostgreSQL PG夜话(第22期):数据库老陈 与 德哥 聊“DBA的发展”
  • 国家支持!是时候考一个PostgreSQL数据库管理员认证了!
  • 国内备受好评PostgreSQL数据库性能如何?
  • 聊一聊PostgreSQL数据库,以及PostgreSQL认证体系
  • OCM认证烂大街了吗OCM认证还值得投资吗
  • 旧版本的Oracle OCM证书怎么升级到最新版本?
  • 企业还会高薪招聘OCM证书获得者吗?
  • 腾讯云数据库认证官方的考试费是多少钱?
  • PostgreSQL技术大讲堂 - 第62讲:TXID的冻结-拆弹专家2
  • 【优技教育】Oracle 19c OCP 082认证考试题库(第5题)- 2024年修正版
  • 8月26日,恭喜CUUG 肖同学获得19c OCM证书!
  • PostgreSQL技术大讲堂 - 第65讲:pg与Oracle的绑定变量窥视对比
  • PostgreSQL技术大讲堂 - 第66讲:PG数据库参数调整
  • 信创领域认证,来自工信部人才交流中心的PostgreSQL培训班
  • 【优技教育】Oracle 19c OCP 082题库(第16题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第18题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第19题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第20题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第22题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第23题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第24题)- 2024年修正版
  • Oracle 19c OCP 认证考试 082 题库(第26题)- 2025年修正版
  • 单考一个OCP认证?还是OCP和OCM认证都拿到手?
  • 考前须知:Oracle OCP考试流程和准备
  • 你还在犹豫要不要考个OCP认证吗
  • “多图警告” - 带你快速浏览2024杭州云栖现场
  • 汇集众多AI硬科技 9月19日 阿里云栖大会即将到来
  • 腾讯云TDSQL数据库认证值得考吗?来看看TDSQL证书有什么用
  • 【优技教育】Oracle 19c OCP 082题库(第1题)- 2024年修正版
  • 【优技教育】Oracle 19c OCP 082题库(第3题)- 2024年修正版
  • 【优技教育】Oracle 19c OCP 082题库(第8题)- 2024年修正版
  • 【优技教育】Oracle 19c OCP 082题库(第13题)- 2024年修正版
  • 【优技教育】Oracle 19c OCP 082题库(第14题)- 2024年修正版
  • Oracle 19c OCP 082认证考试题库(第6题)- 2024年修正版
  • Oracle 19c OCP 082认证考试题库(第7题)- 2024年修正版
  • 报名啦!PolarDB数据库创新设计赛(天池杯)等你来战
  • 相约华中科技大学,移动云技术论坛 第四期:打造数智时代新型数据底座
  • PostgreSQL技术大讲堂 - 第64讲:给pg插上翅膀-pg_quack
  • 如何考取PostgreSQL认证证书?
  • 有序推进合作互补,共建PostgreSQL良好生态环境
  • 《PostgreSQL 数据库在国内的发展前景》
  • 2024云栖大会,9月19杭州见:云启智跃·产业蝶变
  • PostgreSQL技术大讲堂 - 第63讲:duckdb数据库盛宴
  • 金蝶集团信创PostgreSQL数据库认证开班啦!!!
  • 万“象”更新 - 看PostgreSQL数据库的前世与今生
  • 炙手可热!信创时代下的PostgreSQL数据库
  • ocm认证考试费用多少钱,Oracle OCM考几科
  • Oracle 数据库认证,数据库领域的金字招牌