本文主要是介绍PostgreSQL随笔-对象标识符OID,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
总览
在PostgreSQL中,对象标识符OID用来在整个数据集簇(initdb初始化的数据存储区即为数据集簇)中唯一地标识一个数据库中的对象,这个对象可以是数据库、表、索引、视图、元祖、类型等。PostgreSQL内置了Oid类型表示OID,它本身时一个无符号整数。
分配策略
- 通常从1开始
- 首先一部分分配给了系统表相关的对象(如元祖、索引等),此外为了扩展会保留一般部分OID,可以从系统表对应的头文件中找到部分OID。
- 用户自定义是否需要元组,只需要使用WITH OIDS。
- OID的分配由一个全局的OID计数器管理,并采用互斥锁避免OID同时分配给多个对象,默认状态下时用户不设置OID。
注意事项
- 主要用户系统表内部作为主键,最好不要用来作为用户数据的主键,因为Oid由4个字节的int类型表示,有数量限制。
这篇关于PostgreSQL随笔-对象标识符OID的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!