今天看啥  ›  专栏  ›  digoal德哥

PG 19 继续恶心OID升级到64位有啥用?

digoal德哥  · 公众号  · 数据库  · 2026-01-13 08:40
    

主要观点总结

本文介绍了PostgreSQL 19 preview中对OID升级到64位的改变。文章详细解释了为什么需要引入oid8(64位的OID),以及这个补丁所包含的详细内容。

关键观点总结

关键观点1: 为什么要引入oid8

传统的32位OID在超大规模数据库中容易“溢出”,需要突破40亿上限;oid8是64位的,能提供的数字范围庞大;专为大文件准备,未来处理超大字段的机制需要64位的ID来管理这些切片;代码更好维护,有利于区分普通数字和对象ID。

关键观点2: 补丁内容

这个补丁为oid8配备了加减乘除、比较大小(btree/hash索引)的功能;实现了oid8、普通整数和旧的OID之间的互相转换(Cast);在C语言层面定义了Oid8结构体,并更新了数据库的系统表版本。

关键观点3: 为什么不直接改现有的OID

直接升级所有OID从32位到64位会导致空间浪费、不兼容问题。通过引入oid8,可以循序渐进地在需要64位的地方(如TOAST)先使用,而其他地方保持原样。


免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址: 访问原文地址 (快捷配置)
总结与预览地址:访问文章预览/总结
文章地址: 访问文章快照