首页 > 数据库 >postgressql——事务提交会通过delayChkpt阻塞checkpoint(9)

postgressql——事务提交会通过delayChkpt阻塞checkpoint(9)

时间:2024-05-31 18:00:40浏览次数:17  
标签:postgressql ... 事务 checkpoint 提交 xact delayChkpt latestXid

事务提交会通过delayChkpt阻塞checkpoint

Postgresql事务在事务提交时(执行commit的最后阶段)会通过加锁阻塞checkpoint的执行,尽管时间非常短,分析为什么需要这样做:

首先看提交堆栈

#1  0x0000000000539175 in CommitTransaction () at xact.c:2079
#2  0x0000000000539e04 in CommitTransactionCommand () at xact.c:2824
#3  0x000000000087d1ea in finish_xact_command () at postgres.c:2482
#4  0x000000000087af27 in exec_simple_query (query_string=0x24050e0 "insert into t1 values (1,1);") at postgres.c:1154

函数调用过程

关键函数如下:

CommitTransaction
    ...
    latestXid = RecordTransactionCommit();
    ...
        BufmgrCommit()
        START_CRIT_SECTION()
        【关键流程】
        END_CRIT_SECTION()
        latestXid = TransactionIdLatest(xid, nchildren, children);
        SyncRepWaitForLSN(XactLastRecEnd, true);
        return latestXid;
    ...
    ProcArrayEndTransac

标签:postgressql,...,事务,checkpoint,提交,xact,delayChkpt,latestXid
From: https://blog.csdn.net/Re_view/article/details/139346853

相关文章

  • postgressql——数据库快照(5)
    事物快照一个数据页包含了每一行的多个版本,每一行的可见版本一起构成一个快照。快照只包含在创建快照时当前已提交的数据,在这个特定的时刻提供了一个一致性的视图,这个视图我们就可以叫做快照。为了确保数据的隔离性,每一个事物都有自己的快照,这就意味着不同的事物在不同的......
  • mysql5.7 报错:[ERROR] InnoDB: Ignoring the redo log due to missing MLOG_CHECKPOIN
    mysql5.7启动报错:2024-05-19T02:02:14.453082Z0[Warning]TIMESTAMPwithimplicitDEFAULTvalueisdeprecated.Pleaseuse--explicit_defaults_for_timestampserveroption(seedocumentationformoredetails).2024-05-19T02:02:14.453139Z0[Note]--secure-file......
  • Flink同步kafka到iceberg数据延迟,两个checkpoint后才可查询
    一、问题描述用户配置了高级参数很多,观察kafka增量数据不多,flink负载不高情况下两个checkpoint后才可查询到数据。  排查时hdfs有数据文件产生,但是mainfast文件中最新快照id没变化。 二、原因经腾讯排查,用户参数指定高级参数execution.checkpointing.unaligned:true引起......
  • checkpoint防火墙测试授权申请
    本文介绍如何在线申请checkpoint防火墙的测试授权请先确保已注册官网账号并能正常登录ProductCenter,并安装好checkpoint并配置好管理IP(授权申请需要用到设备IP地址,不需要连网)(官网账号最好使用公司邮箱申请)ProductCenter链接正常登录后可看到如下图内容其中selecta......
  • Intel 显卡单机多卡 FSDP 模型 checkpointing 时 Assert Out
    Intel显卡单机多卡FSDP模型checkpointing时AssertOut Intel显卡单机多卡FSDP模型checkpointing时AssertOut现象根因顺藤摸瓜抽丝剥茧解法最后的话现象使用HuggingFaceTrainer在单机多卡环境下对LLAMA2-7B进行LoRAfinetuning时,......
  • 【Flink入门修炼】2-3 Flink Checkpoint 原理机制
    如果让你来做一个有状态流式应用的故障恢复,你会如何来做呢?单机和多机会遇到什么不同的问题?FlinkCheckpoint是做什么用的?原理是什么?一、什么是Checkpoint?Checkpoint是对当前运行状态的完整记录。程序重启后能从Checkpoint中恢复出输入数据读取到哪了,各个算子原来的状态是......
  • 21. CheckPoint
    CheckPoint的作用缩短数据库的恢复时间数据库宕机恢复依赖redolog。当恢复时不需要重做所有日志,因为CheckPoint之前的页都已经刷盘,只需要对CheckPoint之后的日志进行恢复,从而缩短恢复时间缓冲池不够用时,将脏页刷新到磁盘当缓冲池不够时,LRU算法会溢出最近最少使用的页,若......
  • 22.Postgresql的checkpoint功能
    PostgreSQL中的checkpoint是数据库管理系统(DBMS)中的一项重要机制,用于确保数据的一致性、可恢复性和性能管理。以下是关于PostgreSQLcheckpoint的详细解释:checkpoint的定义与作用定义:Checkpoint是一个在WAL(Write-AheadLog)序列中的点,此时所有数据文件已更新,反映了到该点为止......
  • dbt-checkpoint 确保dbt 项目质量的pre-commit hooks 工具
    dbt-checkpoint实际上属于pre-commithooksplugin实现了不少hooks可以用来提升dbt项目的模型质量内部处理上实际是对于dbt的元数据进行解析,当然dbt-checkpoint也提供了不少其他扩展目前包含的hooks只大概说明下,详细的后边介绍下,目前涉及了,model,source,script,macro,modifier......
  • dbt-checkpoint 源码结构简单说明
    前边说过dbt-checkpoint是基于dbt的元数据解析,然后集合规则进行check,属于一个pre-commit插件,以下简单说明下内部实现配置核心是.pre-commit-hooks.yaml文件,一个标准的pre-commit定义内容核心是id,name,entry,language,entry实际上就是一个pythonentry_points的console_......