PostgreSQL 日报 | WAL LSN 回放等待死锁问题(9 月 7 日)

数据库事务 ACID 特性深度剖析:从 MVCC 到 WAL 的 4 种实现机制对比 本文深度剖析数据库事务ACID特性的实现机制,对比MVCC和WAL等4种核心技术。通过MySQL、PostgreSQL等主流数据库的实践案例,揭示原子性、一致性、隔离性和持久性的底层原理,并提供性能调优建议,帮助开发者优化数据库系统事务处理能力。 阅读详情

PostgreSQL Hacker 电子邮件讨论精选

回归测试和用户查询触发的内部错误代码(第二版讨论)

Tom Lane 审查了 Alexander Lakhin 提交的 v2 补丁(包含 7 项已批准修改),该补丁旨在将内部 elog(ERROR, ...) 调用转换为带有正确 SQL 错误码的 ereport(ERROR, ...) 形式。Lane 提出了若干意见:getObjectDescription 和 acldefault_sql…

原文链接:

https://pgnexus.ai/hacker-discussions?subject=Internal%20error%20codes%20triggered%20by%20regression%20tests%20and%20user%20queries%2C%20take%202

优化八进制 GUC 参数的显示效果

该讨论围绕改进 PostgreSQL 中 octal GUC 值的显示方式展开。具体争议点在于:当 octal GUC 值超出范围时,是否应附加一条 HINT 提示信息。Rui Zhao 分析后指出,不同的输入路径(postgresql.conf、ALTER SYSTEM、postgres -c)对 octal 值的解析规则各不相同,而错误触发点无法区分这…

原文链接:

https://pgnexus.ai/hacker-discussions?subject=Improving%20display%20of%20octal%20GUCs

实现 WAL LSN 回放等待机制:重新加载

Xuneng Zhou 报告了 WAIT FOR LSN 实现中的四个问题。第一,死锁问题:在 standby_replay 模式下,若 backend 持有之前语句遗留的重量级锁(如 AccessShareLock),可能与 startup 进程形成无法被检测到的死锁环路。原因在于 WaitForLSN() 通过 latch 休眠而非 …

原文链接:

https://pgnexus.ai/hacker-discussions?subject=Implement%20waiting%20for%20wal%20lsn%20replay%3A%20reloaded

社交媒体动态

你订阅我们的免费月刊了吗?

CYBERTEC 提供一份免费的月度 Newsletter,专注于 PostgreSQL 生态圈的动态。每期内容涵盖公司资讯、近期活动预告、最新博客文章、学习资源以及技术团队正在开发的工具。感兴趣的读者可通过文中链接订阅,及时了解 CYBERTEC 在 PostgreSQL 领域的最新进展。

原文链接:

https://pgnexus.ai/social-media?url=https%3A%2F%2Fwww.linkedin.com%2Fposts%2Fcybertec-postgresql_are-you-subscribed-to-our-free-monthly-newsletter-activity-7502267289245814784-66Dr

代码部署只需几秒,但数据库配置为何还要几小时?

现代开发团队能在几秒内完成代码部署,数据库的配置却往往还需要数小时。Lakebase 是一款专为当今应用与智能体工作负载设计的新型 Serverless Postgres 数据库,支持即时分支、克隆,并采用计算与存储分离的架构。配套指南《Lakebase For Dummies》从四个维度展开介绍:传统数据库在现代工作负载下的局限、计算与存储分离对成本和性…

原文链接:

https://pgnexus.ai/social-media?url=https%3A%2F%2Fwww.linkedin.com%2Fposts%2Fdatabricks_ebook-preview-lakebase-for-dummies-activity-7502375589509730304-Lf2Y

PostgreSQL 9.3实战元年:JSONB、FDW与逻辑复制生产落地指南 关系型数据库正从单一存储走向混合数据中枢,其核心演进体现在对半结构化数据、跨源联邦查询与变更数据捕获(CDC)的原生支持能力上。PostgreSQL 9.3作为首个全面支撑OLTP+OLAP混合负载的稳定版本,通过JSONB二进制格式实现高性能路径索引与运算符优化,借助Foreign Data Wrapper(FDW)达成SQL级异构数据源透明关联,并以WAL日志解析为基础构建逻辑复制雏形——这三大能力共同构成了现代云原生数据架构的底层契约。技术价值不仅在于功能本身,更在于其可灰度、可审计、可运维的工程就绪 阅读详情

相关推荐

DigitalOcean PostgreSQL只读节点灾备实战避坑指南

数据库灾备本质上是架构决策而非配置操作,核心在于理解强一致性、异步复制与单主写入的技术边界。PostgreSQL只读节点虽支持跨区域部署,但其本质是读扩展组件,不具备自动故障转移、RPO≈0或秒级RTO能力。真实场景中需直面复制延迟、DNS静态路由、手动Promote耗时等限制,并通过应用层延迟探测、智能路由、跨区域备份三者协同构建韧性链路。结合DigitalOcean托管服务特性,关键在将只读节点从‘备用副本’升级为可参与读写分流的地理亲和节点,从而兼顾灾备可靠性与业务响应性能。

weixin_30654419的博客 417

PostgreSQL 技术日报 (4月16日)|内核锁机制与 WAL 功能持续优化

🔔 关注【IvorySQL开源数据库社区】公众号即可获取 PostgreSQL 一手干货与最新动态。

IvorySQL的博客 361

分钟级应用一致性快照:CDC+分层快照实现RPO<30秒

应用一致性快照是现代数据保护的核心能力,其本质是在数据库事务、存储卷状态与Kubernetes资源拓扑之间建立强一致的时间锚点。原理上需融合WAL日志捕获(如PostgreSQL逻辑复制槽)、声明式快照编排(如Velero+自研Operator)及多级可信验证(传输/逻辑/业务三层校验)。该技术显著提升灾备可靠性与恢复速度,支撑金融级RPO≤15秒、SaaS毫秒级回滚等严苛场景。实践中,它替代了传统‘全量+增量’备份范式,规避了FTWRL锁表、binlog中断、快照依赖失效等典型风险。本文聚焦Kuberne

chubaisheng8627的博客 417

postgresql源码(一)——psql命令

postgesql的源码都已经百万级了。单单.c文件都有1000+。怎么办,硬着头皮看吧,所幸postgrsql的源码很规范,这应该会给我省不少事。给自己顶一个小目标:每天看一点源码,每天都更新做不到,每周都更新吧,每周至少一篇。希望看到我的博客的朋友们也和我一起学习,我有什么理解不对的地方,也希望大家提出意见~ 大部分人初次接触postgresql一般都是接触psql这个命令行工具吧,那么我们今天就从psql程序的源码开始看吧。 psql的源码分为两部分,一部分是psql的前台处理代码,...

driftingman的专栏 995

数据库系统内核学习指南:从B+树到Spark

数据库系统是后端开发与数据工程的核心基础。理解其内部原理,如B+树索引、查询优化器、事务并发控制和崩溃恢复机制,是解决生产环境慢SQL、锁等待等问题的关键。从单机关系型数据库到分布式计算框架Spark,系统掌握存储引擎、执行计划、隔离级别和日志恢复等核心知识,能够帮助开发者构建可靠的数据处理系统。这里梳理了一条从基础SQL到数据库内核的完整学习路径,探讨如何通过研究生课程系统补足底层能力,实现从‘会用数据库’到‘懂数据库’的跨越。

weixin_30600197的博客 463

手写DBMS内核:WAL+B+树+2PL事务的最小可运行实现

数据库内核是支撑ACID特性的底层系统软件,其核心由持久化日志(WAL)、内存页缓存与索引结构(如B+树)以及并发控制机制(如两阶段锁2PL)共同构成。WAL保障事务原子性与崩溃恢复能力,B+树提供高效范围查询支持,而2PL与Read Committed隔离级别则确保多用户环境下的数据一致性。这些技术广泛应用于MySQL、PostgreSQL等主流数据库,并成为数据库岗面试与课程设计的关键考察点。本文聚焦从零实现一个可调试、可验证、可执行的微型DBMS内核,覆盖存储引擎、事务管理与SQL执行全流程,特别适合

weixin_34067102的博客 364

瀚高PG内核专家香港开讲!零基础解锁PostgreSQL开源黑客进阶之路

从小处着手,但怀有宏大目标。每次审查、测试或讨论都是学习机会,知识会通过复利效应积累。保持自信与坚持。补丁审查初期可能感觉笨拙,但每一次反馈都会让你的理解加深。对反馈保持开放。社区审查能将粗糙的补丁打磨至可提交状态,反馈不仅修正缺陷,还会澄清目标、拓宽适用场景。正如 Paul Graham 所说:“知识是分形扩展的,从远处看边缘光滑,但一旦学得足够多而靠近它,就会发现满是缝隙。” PostgreSQL 内核亦是如此。每次深入一个点,都会发现新的未知领域,但也正是这种发现推动着成长。

IvorySQL的博客 156

2d游戏地图编辑器_[U3D]基于MarchingCubes实现的War3Editor 地表/悬崖编辑器

花了几天时间研究清楚Marching cubes后,发现这个方法是一个非常适用于地图编辑,网格编辑,procedural 生成的工具。最大的优点有着较好的边缘,表面处理。然后我用U3D写了一个悬崖/地表的编辑器。其中使用到了Marching Cubes的2.5D,2D两种降维的方法。talk is cheap,让我看效果!DemoEditor展示https://www.zhihu.com/vide...

weixin_42504649的博客 1178

深度拆解:MySQL 与 PostgreSQL 的“血与泪”选型指南

系统优点缺点MySQL1. 线程模型低延迟2. 分库分表生态成熟3. 云弹性最快(Aurora)1. 优化器弱,复杂 SQL 慢2. Gap Lock 死锁3. 无插件机制PostgreSQL1. 优化器/并行/窗口函数天花板2. 插件宇宙(GIS、时序、向量)3. 无间隙锁,死锁少1. vacuum 膨胀需 DBA2. 写放大,纯写入 TPS 低3. 人才贵,招聘难MySQL 是 Honda Civic:便宜、耐操、满大街配件。PostgreSQL 是 Tesla。

m0_61882731的博客 971

TypeScript的安装与使用

TypeScript的安装与使用

qq_51589308的博客 600

Ubuntu系统全盘备份——TimeShift的安装与使用

所以如果有那天你不小心作了个大死,并且幸运到还能打开GNOME桌面和Timeshift(只要不是执行sudo rm -f /*这样的自杀程序)的时候,点击你要恢复的那个备份文件再点击Restore,经过短暂的重启后你的系统就成功恢复了。打开软件后,会有一些初始化设置,只需要一直点击 Next。根据自己电脑的内存大小决定是自动备份还是手动备份。当然,对于虚拟机用户来说,没有比在客户机直接拷贝虚拟磁盘文件更棒的方式了。点击左上角的 Create,就会执行备份操作。最下面的意思就是说不会自动备份需要手动操作。

琉璃轻纱的博客 4707

从零实现数据库:深入理解B+Tree、WAL与MVCC核心机制

数据库是现代应用的数据基石,其核心在于高效、可靠地管理持久化数据。理解其内部原理,如索引、事务与恢复机制,是解决性能瓶颈和进行深度调优的关键。B+Tree作为最广泛使用的索引结构,通过有序的树形组织支持高效的范围查询和点查,其节点分裂与合并直接影响写入性能。预写式日志(WAL)是保证数据持久性与崩溃恢复的核心技术,它遵循“日志先行”原则,确保操作在数据落盘前已持久记录,从而保障了事务的原子性。多版本并发控制(MVCC)则通过维护数据多个版本来实现高并发读写,避免锁竞争,提升系统吞吐。这些机制共同构成了数据库

weixin_34411563的博客 331

TDDFT计算软件Octopus学习笔记(二):基态计算(Si)

本文以硅为例,来进行基态计算。

陈啸的博客 7308

数据库故障恢复核心机制:从WAL、检查点到崩溃恢复

数据库系统在日常开发中看似只是表结构与SQL语句,但其内部是由查询处理器、事务管理器和日志管理器协同工作的分层体系。当系统崩溃时,如何保证已提交事务不丢失、未提交事务被撤销,正是故障恢复要解决的核心问题。基于WAL(预写日志)机制,Redo日志用于重做已提交操作,Undo日志用于回滚未完成事务,而检查点则限制了恢复扫描的范围。从单机数据库的崩溃恢复到分布式系统中的日志同步,这些原理贯穿始终,并在MySQL InnoDB、PostgreSQL等引擎中有着直观实现。理解故障恢复的底层逻辑,是评估备份策略、优化日

weixin_30522983的博客 200

6轴机械臂(拟人臂+球形腕(三轴相交于一点))正逆运动学求解

1、DH坐标下机械臂参数 theta=[pi/10,pi/2,pi/4,-pi/4,pi/4,-pi/8];%关节角度 a=[0, 0.260, 0.025, 0, 0, 0];%连杆长度 d=[0, 0, 0, 0.280, 0, 0.072];%偏移距离 alpha=[pi/2, 0, pi/2, -pi/2 , pi/2, 0];%RBR型6轴机械臂 使用...

qq_33374294的博客 7886

【Flink】状态编程: 订单超时告警

文章目录一、基础概念二、Flink状态编程1、支持的状态类型2、Managed Keyed State六种类型基本API状态的生命周期3、Managed Operator State三、案例:订单延迟告警统计1、需求描述2、需求分析3、数据与模型4、详细实现 一、基础概念 在Flink架构体系中,有状态计算可以说是Flink非常重要的特性之一。 有状态计算是指: 在程序计算过程中,在Flink...

一只皮皮熊 2865

PostgreSQL性能监控神器pg_enterprise_views:从核心视图到实战优化

数据库性能监控是保障系统稳定运行的关键环节,其核心在于对数据库内部运行状态的实时洞察与量化分析。PostgreSQL作为主流开源数据库,提供了丰富的系统视图用于性能诊断,但原始数据往往分散且解读门槛较高。pg_enterprise_views插件通过整合与增强这些系统视图,提供了更直观、更深入的监控维度,例如直接计算索引扫描百分比和索引缓存命中率,从而将碎片化的性能指标转化为可直接指导行动的洞察。这一技术显著提升了数据库管理员和开发人员定位性能瓶颈的效率,尤其在处理慢查询、评估索引有效性、量化存储膨胀等典型

weixin_30384217的博客 352

AI产品经理面试宝典第94天:RAG知识库构建与预处理策略面试指南

本文深入解析RAG知识库构建的核心挑战与预处理策略,涵盖文档格式转换、问答对生成及自动化测试全流程,为AI产品经理提供面试必备的实战方法论与避坑指南,助你精准应对技术深度类问题。

打造全国最全的AI Agent开发知识领域的博客 314

从零实现数据库存储引擎:B+树索引与WAL事务机制详解

数据库作为现代应用的核心组件,其底层存储引擎的设计原理是系统性能的关键。存储引擎通过页式文件管理、索引结构和事务日志等机制,实现了数据的高效存取与持久化保障。B+树作为最广泛使用的索引数据结构,通过多路平衡树特性将磁盘I/O次数降至对数级别,极大提升了范围查询和点查效率。而WAL(预写日志)技术则确保了事务的原子性与持久性,任何数据修改前先记录日志,即使系统崩溃也能通过日志重做与回滚恢复一致性。在工程实践中,理解B+树索引如何组织数据页、WAL如何协调内存缓冲与磁盘持久化,是进行数据库调优、诊断性能瓶颈的基

leonard61306500的专栏 440

Linux 下 OpenClaw 安装全记录:从零到一的保姆级图文教程

本文主要介绍了Linux 下 OpenClaw 安装全记录:从零到一的保姆级图文教程,希望能对学习使用OpenClaw 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 步骤一 安装Node.js 2.2 步骤二:安装git 2.3 步骤三:安装并配置OpenClaw 2.4 步骤四:配置OpenClaw 2.5 步骤五:配置模型 2.6 步骤六:对话 3. 后续使用步骤 4. 报错解决方案 5. OpenClaw的卸载

weixin_43178406的博客 10万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ego-lite 浏览器:AI Agent 共享登录态,网页任务最快快 2.5 倍

ego-lite 是一款为 AI Agent 设计的浏览器,把你的登录态直接共享给 Claude Code、Codex,不用你手动输密码。它免费、零配置,复杂网页任务实测最快快 2.5 倍,Token 成本最高省一半。 你让 Agent 去抓数据、盯账号、填表单,它一碰到登录框就停住。ego-lite 的做法是:**你和 Agent 共用一台浏览器,但各干各的。** Agent 在自己的 Spa

gitblog_00010的博客 424

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

用 MAS 免费激活 Windows 和 Office 的 4 种方式

MAS(Microsoft Activation Scripts)是一款无需安装任何软件的开源激活脚本,用 HWID、Ohook、Online KMS、TSforge 四种方式免费激活 Windows 和 Office,还自带状态检查与故障诊断。当前版本 3.12(2026-07-04 发布),脚本启动时会自动检查版本。 ## 它是给谁用的 🧑‍💻 - **个人电脑**:装系统后激活一次即

gitblog_00278的博客 943

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

数据库系统核心知识:从B+树索引到并发控制与SQL优化

数据库系统是后端开发的底层基石,理解SQL执行背后的原理才能根治慢查询、死锁等疑难杂症。从关系模型出发,B+树索引决定了数据如何被高效检索,查询优化器生成执行计划的方式直接影响SQL性能,而事务隔离级别与MVCC则保障了并发场景下的一致性。崩溃恢复中的WAL机制确保数据不丢失,分布式框架Spark又进一步扩展了数据处理能力。本文以数据库系统课程为线索,系统梳理了SQL、存储索引、查询优化、并发控制、崩溃恢复和分布式处理六大核心模块,并结合工程实践给出索引设计、慢SQL排查和事务优化的具体建议,帮助后端开发者

weixin_34232744的博客 408

ZeroTermux 内置 chsh 命令指南:更换登录 Shell、修改 /etc/passwd 与实战用法

> **导读**:chsh 是 Linux/Unix 系统中用于更换登录 Shell 的经典命令,ZeroTermux 将其用法整理为内置 Markdown 文档([app/src/main/assets/cmd/chsh.md](https://link.gitcode.com/i/d76bdca831c1f6c64888e272486e5647)),供用户在终端环境内离线查阅。读完本文,你将掌

gitblog_00065的博客 503

PostgreSQL启动过程中的那些事七:初始化共享内存和信号三:shmem中初始化clog

pg初始化完shmem,给其加上索引"ShmemIndex"后,接着就在shmem里初始化xlog。然后依次初始化clog、subtrans、twophase、multixact。安排按clog、subtrans、multixact、twophase的顺序写,把twophase放到multixact之后是因为前面三个用了相同的算法和数据结构,连起来写可以加深印象和归类记忆,本来想把初始化clog、

深入理解PostgreSQL 1562

关系型数据库如何保证数据不出错:事务、日志、锁与复制全解析

对于任何依赖数据库的业务系统而言,数据一致性都是底线。当并发访问、进程崩溃、磁盘静默损坏或主从切换发生时,数据库必须依靠一套精密机制避免数据错乱。事务的原子性和持久性,依赖于undo log与redo log配合WAL预写日志实现;多版本并发控制MVCC与行锁则保证读写互不干扰,让快照读和当前读各司其职。页校验与双写缓冲进一步抵御存储层坏块风险,而主从复制与binlog则提供跨节点的数据冗余与恢复通道。无论是架构设计还是线上问题排查,理解这些底层原理都能让你从“会写SQL”进阶为“真正掌控数据可靠性”。本文

congsikuai0611的博客 309
上一篇: PostgreSQL 日报 |SUM-AVG 溢出检测不足(9 月 5 日)
下一篇: 代价比较的变革——PostgreSQL执行计划干预增强深度解析
IvorySQL
博客等级 码龄5年 745粉丝 566原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值