北京oracle培训_oracle培训哪家好_CUUG官方论坛_CUUG培训怎么样_CUUG官网

 找回密码
 立即注册
查看: 335|回复: 0

PG技术大讲堂 - 第13讲:PostgreSQL Full-Page Writes 全页写

[复制链接]
发表于 2023-4-7 10:58:12 | 显示全部楼层 |阅读模式

PostgreSQL从小白到专家,是从入门逐渐能力提升的一个系列教程,内容包括对PG基础的认知、包括安装使用、包括角色权限、包括维护管理、、等内容,希望对热爱PG、学习PG的同学们有帮助,欢迎持续关注CUUG PG技术大讲堂。
Part 13:full-page Writes
内容1:PostgreSQL全页写概述
内容2:PostgreSQL 全页写特点
内容3:块不一致造成的原因

内容4:是否可以禁用全页写

全页写概述
· Full-Page Writes(全页写)

Full-Page Writes 特点
· 什么是全页写
把数据块写入到WAL日志中
· 目的是为了什么
解决块不一致问题,保护数据的完整性
· 有哪些缺点
全页写会导致WAL日志膨胀,增加额外I/O
· 如何控制
full_page_writes

Full-Page Writes 模式
全页写模式
· 非强制模式:最近一次检查点之后,第一次修改的数据块会进行全页写,后续再修改时不会进行全页写,直到下一次检查点发生。
· 强制模式:当用pg_basebackup对数据库进行备份时,会自动执行强制模式,在备份期间被修改的数据块会全部写入WAL当中。执行pg_start_backup时,系统也会进入全页写模式。

块不一致
块不一致的原因
· 操作系统进行I/O操作时,总是以块为单位,比如512字节、1KB等等。
· 数据库块一般是操作系统块的整数倍,比如2k、4k、8k等等。
· 块是数据库最小的I/O单位,当数据库写一个数据块时,操作系统需要I/O多次,可能在I/O过程中系统断电、磁盘故障等等原因导致一个数据块没有完整的写入,导致块不一致。

全页写是否需要关闭
· 全页写会导致WAL日志膨胀,增加额外I/O,影响数据库整体性能
· 禁用全页写理由
  如果数据库有完整的备份,可以禁用全页写
  如果优先考虑从数据库整体性能,可以禁用全页写

  选择能够阻止部分页面写入的文件系统(比如ZFS)



以上就是Part 13 - PostgreSQL full-page Writes 的内容,欢迎进群一起探讨交流QQ交流群:752027153
微信交流群:联系客服拉你进微信PG交流群
钉钉交流群:35822460,钉钉群有专门讲解公开课
往期课程及视频,联系cuug咨询老师

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|CUUG认证培训 ( 京ICP备11008061号 )

GMT+8, 2024-10-24 15:13 , Processed in 0.016786 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表