PostgreSQL表中的隐含字段是什么意思
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,PostgreSQL表中的隐含字段是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、PostgreSQL表存在的隐含字段oid:
千家信息网最后更新 2024年09月22日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安全错误
数据库的锁怎样保障安全
网络安全可以接单吗
网络安全人为危害有哪些
平板id服务器出错怎么回事
武进区网络安全教育平台
软件开发团队项目 图片
数据库cpu频率
成都网络安全饮酒协会
服务器搭建难吗
数据库导出代码
二级联动值存入数据库
2021幼儿园网络安全宣传周
消息队列 数据库同步
广西玉林网络安全
安卓软件开发用框架吗
360网络安全学院则怎么样
台州实惠软件开发特点
金蝶商贸版启动不了服务器
高中学生网络安全教育知识竞赛
计算机网络技术怎么不挂科
网络安全宣传标语28字
挪威网络安全法
网络技术岗位说明书
湖南企业软件开发价格大全
车来了用什么软件开发的
ip广播服务器供应商
数据库备份技术
网络安全教育行业应该怎么做
一份网络安全手抄报图片
类似股票行情软件开发
服务器硬盘黄灯亮