如何理解PostgreSQL全页写?

  读了很多PostgreSQL的FullPageWrite过程,结果思考时把自己绕进去了。每次感觉读懂了,但是都没能理解,其实是一个很简单的逻辑。
  全页写发生在PG的Checkpoint时候,不要过于考虑全页写在checkpoint中的过程,而是单纯思考其作用,其实很好解。
  假设没开启全页写的场景下,在checkpoint完成之后,后续数据库持续读写,然后bgwriter的向底层刷脏,某个时刻刷脏异常断电,导致磁盘的页只写了部分,数据页异常不完整了。然后数据库重启之后,从redo点开始回放wal,从上次redo点开始回放,但是磁盘上的数据页本身就不完整,如何能回放成功呢?所以在每次checkpoint成功之后,第一次数据页的修改的wal日志中,对整个数据页进行备份,写到wal中。这样后续即便数据库运行过程中出现部分页写,数据页不完整的情况,那么后续起来后,反正从redo点开始回放,而回放的同时,会发现wal中有备份块,那么就会覆盖页面内容,这样也就能保证数据一致了。

问:如果checkpoint过程中崩溃了怎么办?

  这也不是问题,因为redo点只有在checkpoint成功后才会记录到pg_controldata文件中,在checkpoint过程中崩溃了,下次启动时,从上次checkpoint生成的redo点开始回放,因为上次的checkpoint完成redo点之后针对数据页第一次的修改都保存了全量数据,所以用wal中的数据页块直接覆盖本地的数据页,然后一步步回放至最近的wal记录,这样保证了数据库的一致性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/58865.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

整数越界详解

目录 一、整数类型的范围 二、整数越界的原因 三、整数越界的示例 1.算术运算导致的整数越界 2.位运算导致的整数越界 3.数据类型转换导致的整数越界 四、整数越界的解决方法 在编程中,整数越界是一个需要特别注意的问题。当整数的计算结果超出了其所能表…

深度学习基础知识-编解码结构理论超详细讲解

编解码结构(Encoder-Decoder)是一种应用广泛且高效的神经网络架构,最早用于序列到序列(Seq2Seq)任务,如机器翻译、图像生成、文本生成等。随着深度学习的发展,编解码结构不断演变出多种模型变体…

Yolo系列 Yolo v4简介

目录 简介 YOLOv4的特点 1、数据增强:马赛克数据增强(Mosaic Data Augmentation) 2、 防止过拟合的方法DropBlock 3、标签平滑(Label Smoothing) 4、损失函数 :GIOU损失、DIOU损失、CIOU损失 &#x…

C语言的数组地址 数组的遍历与练习

1.int main(void) { int a[5] { 10,20,30,40,50 };//数组间的元素地址相连的 int* p; printf("%d\n", &a[0]); printf("%d\n", &a[1]); printf("%d\n", &a[2]); printf("%d\n", &a[3]); …

Python实现SSA智能麻雀搜索算法优化XGBoost-MLP回归模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 随着大数据技术的迅猛发展,机器学习模型在各行各业的应用越来越广泛。特别是在回归任务…

nginx 设置多个代理服务器(nginx多代理)

修改配置文件 nginx.conf 修改前的内容,如下: worker_processes 1;events {worker_connections 1024; }http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80…

如何找到网上爆款内容,快速复制扩大品牌声量

社媒内容爆款复制是现代营销中的一个重要策略,它对于提升品牌声量、曝光度和知名度具有显著效果。 首先什么是爆款? 爆款内容指的是在社交媒体或其他在线平台上迅速获得大量关注、分享和讨论的内容。 准确、及时找到这部分品牌相关的爆款内容&#xf…

2024年10月文章一览

2024年10月编程人总共更新了21篇文章: 1.2024年9月文章一览 2.《Programming from the Ground Up》阅读笔记:p147-p180 3.《Programming from the Ground Up》阅读笔记:p181-p216 4.《Programming from the Ground Up》阅读笔记&#xff…

Git连接码云-保姆级教学(连接Gitee失败的解决)

Git介绍 码云连接 一、Git介绍 二、Git的工作机制 下载链接:Git - 下载软件包 三、使用步骤 创建一个wss的文件夹,作为‘工作空间’ 四、连接码云账号 五、连接Gitee失败的解决方法 一、Git介绍 Git是一个免费的、开源的分布式版本控制…

KINGBASE部署

环境:x86_64 系统:centos7.9 数据库–版本:KingbaseES_V008R006C008B0014_Lin64_install 授权文件–版本:V008R006-license-企业版-90天 一 前置要求 1.1. 硬件环境要求 KingbaseES支持通用X86_64、龙芯、飞腾、鲲鹏等国产C…

Java并发常见面试题总结(下)

Map(重要) HashMap 和 Hashtable 的区别 线程是否安全: HashMap 是非线程安全的,Hashtable 是线程安全的,因为 Hashtable 内部的方法基本都经过synchronized 修饰。(如果你要保证线程安全的话就使用 ConcurrentHashMa…

Java - 免费图文识别_Java_免费_图片转文字_文字识别_spring ai_spring ai alibaba

本文主要是介绍借助阿里云免费的大模型额度来做高质量的图转文识别,图片转文字,或者文字识别都可以使用,比传统的OCR模式要直接和高效很多 。 本文使用的技术是spring ai qwen vl 。 Qwen vl有 100万Token 免费额度,可以用来免费…

基于边缘计算的智能门禁系统架构设计分析

案例 阅读以下关于 Web 系统架构设计的叙述,回答问题1至问题3。 【说明】 某公司拟开发一套基于边缘计算的智能门禁系统,用于如园区、新零售、工业现场等存在来访被访业务的场景。来访者在来访前,可以通过线上提前预约的方式将自己的个人信息…

基于SpringBoot+Vue的购物商城系统【前后端分离】

基于SpringBootVue的购物商城系统设计与实现 摘要 随着互联网技术的不断发展,线上购物已经成为人们日常生活中不可或缺的一部分。本博客将详细介绍一个基于Spring Boot和Vue的购物商城系统的设计与实现。该系统包含了商品展示、购物车管理、订单处理、用户管理等模块…

标签之文字排版,图片,链接,音视频(HTML) 基础版

目录 标签之文字排版,图片,链接,音视频知识点: 练习题一: 效果: 练习题二: 效果: 标签之文字排版,图片,链接,音视频知识点: 超文本:链接 标记:标签<> 双标签 单标签 <br>//换行 <hr>//水平线 向后tab 向前shifttab html注释<!----> css /**/ …

Spark_跑批__.checkpoint()为什么比.persist()快

昨天同事和我讨论了一个情况&#xff0c;情况是这样的&#xff1a; 他在跑一个spark程序&#xff0c;跑的时候差不多五六分钟&#xff08;加了persist的情况&#xff09;&#xff0c;如果不加persist&#xff0c;改为..checkpoint()缓存&#xff0c;速度基本维持在三四分钟左右…

后端:Spring、Spring Boot-实例化Bean依赖注入(DI)

文章目录 1. 实例化Bean2. 使用FactoryBean3. 依赖注入(DI)3.1 AutoWired 属性注入(查找顺序&#xff1a;先类型&#xff0c;后名字)3.2 AutoWired 在构造函数&参数上的使用3.3 Inject和Resource 进行依赖注入3.4 Value 进行注入 1. 实例化Bean 默认使用无参构造函数&…

浅谈串口服务器的作用

串口服务器是一种网络设备&#xff0c;它允许通过TCP/IP网络远程访问串行设备。它的作用主要包括&#xff1a; 1、远程访问&#xff1a;通过将串行通信转换为以太网通信&#xff0c;串口服务器使得远程访问串行设备成为可能&#xff0c;这对于远程监控和控制非常有用。 2、数据…

深度|谁在为OpenAI和Anthropic的AI编程竞赛提供“军火”?已赚得盆满钵满

图片来源&#xff1a;Unsplash AI 开发者之所以一致认为编程的重要性&#xff0c;是有原因的&#xff1a;大型语言模型编程能力越强&#xff0c;它回答与软件无关的其他类型问题的能力也越强。 去年秋天&#xff0c;几位 Google 人工智能领导者与初创公司 CEO Jonathan Siddh…