PG预写式日志解码的艺术与应用
本文整理自 IvorySQL 2025 生态大会暨 PostgreSQL 高峰论坛的演讲分享,演讲嘉宾:李传成,walminer 作者。本文内容主要包括:逻辑解码的基本原理高级逻辑解码特性walminer 数据恢复实战walminer pgto server 实战逻辑解码的基本原理数据库 INSERT 操作的 WAL 日志解析与使用流程物理使用(二进制回放流程)当数据库执行INSERT操作时,WA
无需安装!PostgreSQL 18 Windows 便携部署方案
在 Windows 环境中使用 PostgreSQL 的常见做法是下载安装程序并进行配置。该方式操作简便,可自动完成依赖组件和系统服务的部署。然而,对于无需 PostgreSQL 持续运行、需要在多个版本之间灵活切换,或希望具备可复制至任意计算机并直接运行的便携式环境的场景,本文将介绍一种更灵活的实现方案。该方案仅适用于个人开发环境。在未进行安全加固的情况下,不应将其用于共享或生产部署等场景。下载
Oracle 19c数据库迁移到IvorySQL 4.6实战
1. 背景在国家数字化转型与信创产业加速推进的背景下,数据库作为信息系统的核心基础设施,其国产化替代已成为企业数字化建设的重要战略方向。Oracle 数据库凭借成熟的技术体系长期占据市场主导地位,但在自主可控、成本优化及适配本土生态等需求驱动下,基于开源技术演进的国产数据库逐渐成为迁移替代的优选方案。IvorySQL 作为一款兼容 PostgreSQL 生态的国产数据库,不仅继承了 Postgre
在一台机器上搭建一体化 Ceph 存储集群
概述Ceph 是一个开源的软件定义存储平台,它在单个分布式计算机集群上实现对象存储,并提供对象级、块级和文件级存储的三合一接口。Ceph 存储集群由 Ceph 监视器、Ceph 管理器、Ceph 元数据服务器和 OSD 组成,它们协同工作来存储和复制数据,供应用程序、Ceph 用户和 Ceph 客户端使用。Ceph 还提供了使用 PostgreSQL 来利用网络存储的选项。在这篇文章中,我将指导你
直播回顾|PostgreSQL 18 六大新特性深度解析
10 月 16 日,IvorySQL 社区组织了一场线上直播,主题为:PostgreSQL 18 六大新特性深度解析。以下为本场直播的回顾。嘉宾简介王世鑫,数据库软件工程师张虎,数据库软件工程师权宗亮,数据库软件工程师兰柯,数据库软件工程师史跃飞,数据库软件工程师胡勋棋,数据库软件工程师矫顺田,数据库软件工程师特邀主持人:彭冲,PostgreSQL ACE,PostgreSQL 中文社区委员,Ga
PostgreSQL 18 中国贡献者经验分享:开源参与的四点建议
2025 年 9 月 25 日,PostgreSQL 18 正式发布。该版本不仅修复了上百个问题,更带来了多项颠覆性的功能升级,例如全新的异步 I/O(AIO)框架、新增的跳跃式扫描(SKIP SCAN)技术,以及原生 UUIDv7 支持等,每一项升级都为用户带来更优质的使用体验。这些丰富的功能变化与大量的问题修复,离不开 PostgreSQL 社区贡献者们的积极参与。在 PostgreSQL 1
直播预告|PostgreSQL 18 六大新特性深度解析
PostgreSQL 18 已于 9 月 25 日正式发布。该版本包含大量改进,其中有多项新特性。在 PostgreSQL 18 发布后,IvorySQL 社区推出了一篇六大新特性解读的文章聚焦六大功能:PostgreSQL 18 新特性深度解析,引发了多人关注。本次直播,我们邀请到了本文的六位作者,为大家深度解析每一个功能的变化。同时,我们特别邀请了彭冲老师担任本次直播的主持人。观看直播即有机会
PostgreSQL 18 异步 I/O(AIO)调优指南
导语:PostgreSQL 18 中最大的变化是引入了异步 I/O (AIO) 子系统,这引出了一个问题:如何根据工作负载调整它?Tomas Vondra 这篇博客提供了如何设置 AIO 配置,并根据你的工作负载进行测试的实用指南。PostgreSQL 18 已正式发布,该版本包含大量改进。其中一项重大架构变更是异步 I/O(Asynchronous I/O,简称 AIO) ——它支持对 I/O
聚焦六大功能:PostgreSQL 18 新特性深度解析
PostgreSQL 全球开发组于 2025 年 5 月 8 日发布了 PostgreSQL 18 的首 个 Beta 版本,正式版也已于 9 月 25 日正式上线。本文 IvorySQL 社区将为大家拆解 PostgreSQL 18 的六大亮点特性。一、PG 异步 I/O(AIO)框架:迈出打破同步阻塞瓶颈的第一步PostgreSQL 18 全新引入异步 I/O 子系统。新机制允许特定场景下并行
PostgreSQL 上的向量搜索实践
本文整理自 IvorySQL 2025 生态大会暨 PostgreSQL 高峰论坛的演讲分享,演讲嘉宾:高策,TensorChord CEO。引言本文主要分享如何在 PostgreSQL 上进行向量的搜索。PostgreSQL 有非常多的 Extension,我们可以通过 Extension 的方式去扩展 PostgreSQL 能够支持的数据类型。这是 PostgreSQL 在全球流行的一个重要原
PostgreSQL 内机器学习的关键智能算法研究
演讲嘉宾:崔鹏,海能达数据库团队负责人、PostgreSQL ACE、PG 分会哈尔滨用户组leader。随着人工智能与机器学习的快速发展,数据库不仅作为数据存储与管理的核心基础设施,也逐渐成为机器学习任务执行的重要支撑平台。然而,传统数据库在存储结构选择、样本数据筛选、连接顺序优化等方面仍存在不足,难以满足机器学习在效率与精度方面的要求。为此,本文围绕 PostgreSQL 内的机器学习应用展开
PostgreSQL 大对象管理指南:pg_largeobject 从原理到实践
概述有时候,你可能需要在 PostgreSQL 中管理大对象,例如 CLOB、BLOB 和 BFILE。PostgreSQL 中有两种处理大对象的方法:一种是使用现有的数据类型,例如用于二进制大对象的 bytea 和用于基于字符的大对象的 text;另一种是使用 pg_largeobject。本文将解释如何使用 pg_largeobject。pg_largeobjectpg_largeobject
当数据库宕机时,PostgreSQL 高可用在背后做了什么?
本文整理自 IvorySQL 2025 生态大会暨 PostgreSQL 高峰论坛的演讲分享,演讲嘉宾:孟飞龙,瀚高股份研发工程师。本文主要从以下 4 个方面进行分享:前言故障检测与转移问题探讨结语前言前言部分主要介绍一些 PostgreSQL 高可用相关的概念,让大家对高可用有一个大概的了解。PostgreSQL 高可用简述高可用的作用在数据库宕机的危机时刻,PostgreSQL 高可用架构会通
PostgreSQL 中唯一索引的工作原理
引言在研究分区表相关解决方案时,曾聚焦于如何在包含多个子表的分区表内,实现跨分区的数据唯一性保障。这类功能有时被称为全局索引,相关领域的讨论可参考邮件线程此处。尽管其中提出的思路具备一定合理性,但对应的实现方式却引发了较多争议 —— 该方式改变了分区索引的存储逻辑,本质是将所有分区索引合并存储,并以TableOid作为内部引用的键值。基于此,探索一种替代方案:在不改变 PostgreSQL 原有核
GraphRAG 在 PostgreSQL 上的实践
本文整理自“IvorySQL 2025 生态大会暨 PostgreSQL 高峰论坛”上的分享内容,演讲者:傅宇,PolarDB for PostgreSQL 研发负责人。本文主要分享如何通过 Graph 的方式让 RAG 运行的更好,主要涉及以下内容:为什么需要 GraphRAG构建知识图查询知识图在 PostgreSQL 上实践为什么需要 GraphRAGRAG 的诞生是为了解决一个特定领域的知
从disable_cost到disabled_nodes,最小代价预估质的飞跃
在HOW2025大会优化专场,老杨分享了修改disable_cost为GUC结合pg_hint_plan实现精准执行计划控制的实践。主要是举例了一个极端case,在17版本依然需要disable_cost的动态调整来实现hint精准指定索引。对于disable_cost的讨论早在2019年就开始了,一直持续到现在,可参考社区邮件。邮件前期主要是讨论disable_cost默认常量值不足,往往导致s
如何设置 Lustre 文件系统并在其上运行 PostgreSQL
概述与 PostgreSQL 类似,Lustre 文件系统也是一个开源项目,始于大约 20 年前。根据维基百科,Lustre 文件系统是一种并行分布式文件系统,专为大规模集群计算设计,支持原生远程直接内存访问(RDMA)。Lustre 文件系统具有可扩展性,可用于多个计算机集群,包含数万个客户端节点、数十 PB 的存储容量(分布在数百台服务器上),以及超过 1TB/s 的聚合 I/O 吞吐量。本文
了解 PostgreSQL 的 MVCC 可见性基本检查规则
1. 引言根据 Vadim Mikheev 的说法,PostgreSQL 的多版本并发控制(MVCC)是一种“在多用户环境中提高数据库性能的高级技术”。该技术要求系统中存在同一数据元组的多个“版本”,这些版本由不同时间段内获取的快照进行管理。换句话说,在这种技术下,PostgreSQL 需要根据多个参数(如获取的快照、当前事务 ID 等)来判断哪些元组对用户是“可见”的,哪些是不可见的。这也被称为
PostgreSQL 从参数调优到 AI 诊断的实战指南
本文整理自 IvorySQL 2025 生态大会暨 PostgreSQL 高峰论坛中的演讲,演讲嘉宾:王丁丁,工业互联网数据库专家,PostgreSQL ACE。本文将从以下五个方向展开:参数调优基础性能优化进阶架构设计实践AI 诊断工具链未来方向两个场景场景一:数据库突然变慢了,我们该怎么办?在日常的应用中,我们有时会发现,数据库突然变慢了。遇到这种问题,我们该怎么办?上一体机?换数据库?换硬件
使用 libpq 的 COPY 协议维护自定义 PG 到 PG 连接
1. 引言最近在我的开发工作中,需要在主节点上的 PG 后端与备节点上的其他 PG 后端之间维护一个自定义连接,以传输除现有 walsender/walreceiver 连接所传输的 WAL 数据之外的自定义数据。当然,我可以简单地创建一个新的独立后端并自己维护一个 socket 连接来传输自定义数据。从技术上讲,这是可行的,但也会带来一些问题。自定义连接的持久性、用户安全性、数据加密都需要额外处