暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

北京CUUG 2023-04-06
256











Part 13:FULL PAGE


内容1
PostgreSQL 全页写概述
内容2PostgreSQL 全页写特点
内容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,钉钉群专门有视频讲解











相关阅读:

从小白到专家 PG技术大讲堂 - Part 7:PG用户与Schema对应关系
从小白到专家 PG技术大讲堂 - Part 8:PG对象权限管理
从小白到专家 PG技术大讲堂 - Part 9:PG实例连接访问控制
从小白到专家 PG技术大讲堂 - Part 10:PostgreSQL数据库管理
从小白到专家 PG技术大讲堂 - Part 11:PostgreSQL控制文件作用与管理
PostgreSQL技术大讲堂 - 第12讲:WAL作用与管理

蓝蓝的天

-->> 联系客服,进群或领取文档资料

文章转载自北京CUUG,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论