当前位置: hlflowers->优技培训 > PG技术大讲堂 - 第13讲:PostgreSQL Full-Page Writes 全页写

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

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

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咨询老师

  • 2025年3月28日乔同学PostgreSQL管理员中级认证
  • Oracle OCP认证没落了吗
  • PostgreSQL技术大讲堂 - 第87讲:重讲系统安全和数据库安全
  • PostgreSQL认证培训推荐机构
  • Oracle OCM证书有效期3年?这是个假消息
  • Oracle OCP证书有效期3年?与官方人员确认这是个假消息
  • 2025年4月中国数据库流行度排行榜:OceanBase超过PolarDB登顶
  • Apache Doris数据库
  • openGauss数据库
  • PingCAP TiDB数据库
  • TDengine时序数据库
  • 阿里云AnalyticDB云原生数据仓库
  • 阿里云云原生数据库PolarDB
  • 奥星贝斯OceanBase数据库
  • 达梦数据库管理系统DM8
  • 电科金仓KingbaseES数据库管理系统
  • 华为GaussDB云数据库
  • 金篆信科GoldenDB数据库
  • 浪潮KaiwuDB数据库
  • 南大通用GBASE数据库
  • 腾讯云分布式数据库TDSQL
  • 羲和 (Halo) 数据库
  • 崖山 (YashanDB) 数据库
  • 亚信安慧AntDB数据库
  • 4月26日,工信部人才交流中心 & CUUG - PGCP+PGCM认证考试完成!
  • Apache IoTDB
  • DolphinDB数据库
  • Easysearch分布式搜索型数据库
  • IvorySQL数据库
  • NebulaGraph数据库
  • OCP认证考试指南:费用、大纲、备考、题库、证书及有效期全面解析
  • SelectDB数据库
  • SourceDB数据库
  • SQLite数据库
  • StarRocks数据库
  • SUNDB数据库
  • TuGraph图数据库
  • 海量数据Vastbase数据库
  • 华为云数据库 GeminiDB
  • 华为云数据库TaurusDB
  • 磐维数据库PanWeiDB
  • 神舟通用数据库
  • 实时数仓 Hologres
  • 天翼云数据库TeleDB
  • 图数据库gStore
  • 星瑞格SinoDB数据库管理系统
  • 虚谷xugudb数据库
  • 云和恩墨MogDB数据库
  • 云原生数据库GaiaDB(盖亚)
  • 考OCP认证要交哪些费用