当前位置: 首页 > java >正文

解锁 Postgres 扩展日!与瀚高共探 C/Java 跨语言扩展技术的边界与未来

2025 年 5 月 13 日至 16 日(蒙特利尔时间),一年一度的 PostgreSQL 开发者大会 PGConf.dev(原 PGCON 会议)将在加拿大蒙特利尔盛大举行。同去年一样,在本次大会开幕的前一天同样会举办另外一个专场活动——Postgres Extensions Day,此活动会聚焦 PG 扩展的开发,交付,发布等方面。

Postgres Extensions Day 由 Postgres Extension Developers Coalition 组织,与 PGConf.dev 相临近但并非附属关系。目前议程已发布,共有 14 个演讲分享。

file

在  Postgres Extensions Day 活动中,瀚高的开发者将带来议题——通过 Java 扩展 PostgreSQL:克服 Java 和 C 应用交互的开发挑战。本次演讲将分享 SynchDB 项目的开发历程,该项目通过在 PostgreSQL 端编写 C 扩展、并集成 Java 版 Debezium Embedded,引导来自 MySQL、SQL Server、Oracle 等多种源的数据变更流入 PostgreSQL。

file

SynchDB 是一个 PostgreSQL 扩展,旨在以快速可靠的方式将来自一个或多个异构数据库(如 MySQL)的数据直接复制到 PostgreSQL。最新的 SynchDB 1.1 引入了 Oracle 连接器支持、增强的数据类型转换功能以及显著改进的核心数据处理引擎。此更新通过智能缓存和优化的 JSON 解析增强了性能,同时扩展了与 PostgreSQL 16、17 和 IvorySQL 4.4 的兼容性。

IvorySQL 内置  ivorysql_ora 插件强化 Oracle 兼容性,同时兼容 PostgreSQL 扩展(如 PostGIS、pgvector),形成“核心+插件”的模块化架构。IvorySQL 4.4 基于 PostgreSQL 17.4 内核,新增 Oracle 数据类型无缝支持与性能优化。作为 2025 年 PGConf.dev 大会赞助商,瀚高将在  PGConf.dev 上展示 IvorySQL 4.4 的技术突破,推动其纳入 PostgreSQL 全球生态主流分支。

file

如果您也关注 PostgreSQL 扩展的方方面面,可以提前一天去参与本场活动。友情提示,Postgres Extensions Day  完全免费,不过需要注册才能参与。

以下是 Postgres Extensions Day 的议题详情:

时间议题演讲者议题简介
9:00 am → 25 min从 pl/v8 到 pl/:走向更容易的扩展开发Hannu Krosingpg_tle 为开发者提供了一个很好的开端,使任何开发者都能编写并部署安全的扩展,而无需成为超级用户。它甚至提供了一些钩子,供受信语言函数使用,例如执行密码策略等。pl/<any> 将这种能力扩展到可以使用任何语言编写数据库函数,从而编写扩展。主要途径是允许用 JavaScript 编写语言处理程序,这为任何拥有 JavaScript 转译器的语言提供了成为 PostgreSQL 嵌入式(或“pl/”)语言的可能性。
9:30 am → 25 min将大版本升级封装成一个扩展Andrey BorodinALTER SYSTEM 升级到 9.7
10:00 am → 25 minPostgres 函数的内联:现状与未来展望Paul Jungwirth本次分享将介绍 Postgres 已实现的两种内联方式,以及一个正在开发中的补丁——旨在支持对大多数返回集函数进行内联。你的函数可用一个“计划树”自身替换,之后优化器会将它和查询中的其他部分融合在一起,这几乎就像写一个宏一样!
10:30 am → 25 minPostgres 按需定制:自选扩展的动态容器镜像Alvaro Hernandez本次演讲将深入探讨动态容器镜像背后的设计动机与技术原理,并解析如何通过该技术实现 Postgres 容器镜像的扩展模块任意组合。
11:00 am → 25 minCppgres:少一个厌恶 C++的理由Yurii Rashkovskii本次演讲将介绍 Cppgres:一个轻量级、仅含头文件的C++20 库,旨在简化 Postgres 扩展的开发流程、增强安全性并减少冗余代码。通过它,您可以利用现代 C++特性(如概念约束、自动类型推导和极简样板代码)编写清晰、可读且高性能的扩展。
11:30 am → 25 min在 Postgres 中使用 MemoryContexts 和调试内存泄漏Phil Eaton本次演讲将探讨创建和切换 MemoryContext 的实际用例,以及像 ebpf 这样的 Linux 工具,帮助我们发现内存泄漏。内容基于生产环境中的真实案例,总结了在编写扩展并寻找 Bug 过程中的经验与实用技巧。
12:00 pm → 25 min作为控制平面的 Postgres:通过扩展卸载计算的挑战Sweta Vooda本次讲座探讨了如何设计 Postgres 扩展,在卸载计算的同时保留 SQL 简单性和事务保证。基于 pgvector-remote 的实际经验,您将学习到缓冲、谓词下推、连接池和与 Postgres 内部机制(如 VACUUM)协作的实用模式。
1:30 pm → 25 min缺失的 Postgres 扩展仓库与包管理器Ruohang Feng(冯若航)尽管 PostgreSQL 扩展功能强大又灵活,大多数用户还是希望“开箱即用”,而非自己编译与手动构建。为解决这一痛点,我整合了一个统一的仓库(pigsty.io/ext/list/),打包了 200+ 扩展,补足了官方 PGDG 仓库的缺口。这些 RPM/DEB 包支持 5 个 Linux 发行版、五个主流 PostgreSQL 版本以及 x86 与 ARM 架构,一站式覆盖。本次分享将探讨如何构建这一仓库,包括跨发行版兼容、多架构支持、版本对齐等挑战,并分享经验教训及未来改进方向,让 PostgreSQL 扩展安装更轻松。
2:00 pm → 25 min如何在 PGXN 上自动发布您的扩展David Wheeler本次分享将演示如何为您的扩展配置 PGXN 分发流程,并利用工具链实现自动化发布以确保版本及时更新。核心要点涉及 Git 版本管理、JSON 配置及 GitHub 工作流的运用。通过本场讲解,您将掌握所需的所有信息,轻松实现扩展在 PGXN 上的快速自动化发布。
2:30 pm → 25 min通过 Java 扩展 PostgreSQL:克服 Java 和 C 应用交互的开发挑战Cary Huang(瀚高)本次演讲将分享  SynchDB  项目的开发历程,该项目通过在 PostgreSQL 端编写 C 扩展、并集成 Java 版 Debezium Embedded,引导来自 MySQL、SQL Server、Oracle 等多种源的数据变更流入 PostgreSQL。本演讲将深入探讨在一个扩展内同时使用 C 与 Java 时面临的关键挑战与解决方案,包括:
1. 基于 JNI 的跨语言调用
2. 将 Debezium Embedded 嵌入 C 扩展的过程
3. 内存管理与性能开销的应对
4. 如何在架构层面整合 2 种语言组件
5. 错误处理、监控及可维护性最佳实践
3:00 pm → 25 minOLAP 架构重构:pg_mooncake v0.2 演进之路Cheng Chen本次演讲将探讨 pgmooncake v0.1 的不足之处以及 v0.2 中的主要架构变化。还将分享在使用 Postgres 复制、后台工作进程和 IPC 作为扩展时所获得的经验教训。
3:30 pm → 25 minSpat:劫持共享内存,在 PostgreSQL 中实现类似 Redis 的体验Florents Tselai本次分享将介绍 PostgreSQL 向扩展开发者开放的共享内存 API(包括新的 DSM Registry),以及如何构建  Spat:一个把数据完全存储在共享内存、可在 PostgreSQL 内部提供类 Redis 体验的内存数据结构服务器。
4:00 pm → 25 min扩展升级Yurii Rashkovskii本次分享将探讨现有的扩展升级机制、常见的陷阱和挑战,具体包括:
1.本地代码升级
2.类型变更
3.扩展管理的数据保留
4.版本化依赖
5.不同版本的共存
4:30 pm → 25 min可扩展性 - 新选项和愿望清单Alastair Turner现在正是成为 PostgreSQL 扩展开发者的绝佳时机。围绕扩展的社区不断壮大,甚至出现了专门的扩展峰会活动。PostgreSQL 也持续开放更多的可扩展领域。过去一年提交的亮点包括扩展 EXPLAIN、累积统计和 COPY 的选项,但在存储等少数领域上,相关提案仍待推进。本次分享将带你了解近期新的可扩展领域(附示例代码),并探讨在那些尚未突破的领域(尤其存储)上可能的改进与努力方向。

Pigsty 的作者冯若航老师,也将在扩展日活动中进行分享:缺失的 Postgres 扩展仓库与包管理器。他的分享同样值得期待,您可以阅读他的文章《PG 扩展峰会日程出炉,蒙特利尔见》了解更多内容。

Postgres Extensions Day 以其聚焦技术纵深的议题设置,持续推动着数据库扩展生态的繁荣。从内存管理优化到跨语言开发挑战,从扩展包分发到共享内存创新,每一场演讲都在为 PostgreSQL 的可扩展边界注入新动能。随着社区对扩展开发的重视程度不断提升,我们期待更多像瀚高这样的团队,通过技术实践将 PostgreSQL 的"可编程基因"转化为驱动行业数字化转型的澎湃引擎。

5 月 12 日(蒙特利尔时间),蒙特利尔的技术盛宴即将开启。无论是想探究各个分享的奥秘,还是希望与全球顶尖开发者共话 PostgreSQL 未来,这场免费的扩展日盛会都不容错过。立即访问pgext.day完成注册,共同见证开源数据库生态的又一次进化跃迁。

http://www.xdnf.cn/news/4573.html

相关文章:

  • si551x时钟芯片linux下调试总结
  • 基于 SpringBoot + Vue 的校园管理系统设计与实现
  • STM32的看门狗
  • English of Root for May 7th
  • 工程师转型算法工程师 深入浅出理解transformer-手搓板
  • zst-2001 历年真题 知识产权
  • 端口安全配置
  • Docker+Kubernetes落地指南:从单机到集群的平滑迁移
  • 【大模型系列篇】Qwen3思考预算及思考模式切换实现原理探索
  • Qt 中基于 spdlog 的高效日志管理方案
  • nginx 上传文件,413 request entity too large
  • 计划评审技术PERT
  • Yii2.0 模型规则(rules)详解
  • STM32 CAN总线
  • Linux网络编程day6 下午去健身
  • MATLAB导出和导入Excel文件表格数据并处理
  • 大模型范式转移:解码深度学习新纪元
  • 【Day 21】HarmonyOS实战:从智慧医疗到工业物联网
  • 【FreeRTOS-消息队列】
  • PyQt5 实现自定义滑块,效果还不错
  • grpc到底是啥! ! !!
  • shell操作文件上传
  • 第3章 模拟法
  • SDC命令详解:使用get_ports命令进行查询
  • 浅谈广告投放从业者底层思维逻辑
  • C语言 指针(8)
  • 第七章 模板制作工具
  • ubuntu 挂载硬盘
  • 当“信任”遇上“安全”:如何用Curtain Logtrace记录文件操作活动 守护团队与数据的双重底线?
  • 2398.预算内的最多机器人数目 滑动窗口+单调队列