PostgreSQL表中的隐含字段是什么意思
发表于:2025-01-26 作者:千家信息网编辑
千家信息网最后更新 2025年01月26日,PostgreSQL表中的隐含字段是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、PostgreSQL表存在的隐含字段oid:
千家信息网最后更新 2025年01月26日PostgreSQL表中的隐含字段是什么意思
PostgreSQL表中的隐含字段是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
一、PostgreSQL表存在的隐含字段
oid: 行的对象标识符(对象ID)。
注意:这个字段只有在创建表的时候使用了WITH OIDS,或者是设置了配置参数default_with_oids时出现,这个字段的类型是oid(和字段同名)。 OID是32位的量,是在同一个集群内通用的计数器上赋值的。对于一个大型或者长时间使用的数据库,这个计数器是有可能重叠的。因此,OID是唯一的是非常错误的想法.
tableoid: 包含本行的表的OID。这个字段对那些从继承层次中选取的查询特别有用,因为如果没有它的话,我们就很难说明一行来自哪个独立的表。tableoid可以和pg_class的oid字段连接起来获取表名字。
xmin: 插入该行版本的事务的标识(事务ID)。
cmin: 在插入事务内部的命令标识(从零开始)。
xmax: 删除事务的标识(事务ID),如果不是被删除的行版本,那么是零。
cmax: 在删除事务内部的命令标识符,或者是零。
ctid: 一个行版本在它所处的表内的物理位置
注意,尽管ctid可以用于非常快速地定位行版本,但每次VACUUM FULL之后,一个行的ctid都会被更新或者移动。因此ctid是不能作为长期的行标识符的。
数据表的字段信息都保存在pg_attributed 表中,数据表则保存在pg_class中,所以可以结合这两个查找到对应的表的所有字段
案例:
testdb=# create table table_oid (id int, name varchar(64)) with(oids=true); 创建带有oid的表
执行查找操作
testdb=# select oid, tableoid, tableoid::regclass as tablename, cmax, cmin, xmin, xmax, ctid, * from table_oid;
看完上述内容,你们掌握PostgreSQL表中的隐含字段是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
字段
事务
标识
版本
数据
标识符
内容
命令
对象
数据表
方法
更多
计数器
问题
束手无策
为此
一行
两个
位置
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
信息与网络技术专业就业
软件开发的是it男吗
pb软件开发
同时检测多个数据库的搜索引擎
web软件开发如何计算工时
数据库技术3级题库
企业网络安全科技馆北京
访问服务器在国外的网址
网络安全感满意度统计
如何判断小程序有数据库
数据库要用到的英语单词
网易服务器真的有用吗
微信小程序校配置本地数据库
语音直播软件开发
分布式系统和服务器的区别
一般纳税人开票名称软件开发
设有图书管理数据库答案
华南软件开发中心
数据库分析师招生
跨界软件开发
建设网络安全的技术
电脑对服务器的远程访问
首都网络安全日(
柯南服务器可以用代码吗
农业银行软件开发中心
2018加强网络安全管理
服务器网口红灯常亮绿灯闪
湖南服务器电源生产商
思迅数据库怎么导出到U盘
鸟哥linux服务器