我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PostgreSQL表中的隐含字段是什么意思

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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中,所以可以结合这两个查找到对应的表的所有字段
PostgreSQL表中的隐含字段是什么意思
案例:
testdb=# create table table_oid (id int, name varchar(64)) with(oids=true);    创建带有oid的表
PostgreSQL表中的隐含字段是什么意思
执行查找操作
testdb=# select oid, tableoid, tableoid::regclass as tablename, cmax, cmin, xmin, xmax, ctid, * from table_oid;
PostgreSQL表中的隐含字段是什么意思

看完上述内容,你们掌握PostgreSQL表中的隐含字段是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PostgreSQL表中的隐含字段是什么意思

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql字段是什么意思

mysql字段是mysql数据库表中具有特定类型和长度的列,用于存储数据。在mysql中,每个字段都必须有一个特定的数据类型,常见的数据类型包括整数、浮点数、字符串、日期和时间,这些数据类型决定了mysql可以在每个字段中存储的数据。本教程
2023-07-10

php中rand是代表什么意思

PHP中的rand函数rand()函数生成伪随机整数,最小值为$min(默认0),最大值为$max(默认PHP_INT_MAX)。它使用线性同余发生器算法。这些数字不是完全随机的,但适用于大多数应用。用途包括游戏开发、安全、测试和算法。注意,rand()函数生成伪随机数,不适合需要真正随机性的应用,并且连续调用可能产生可预测的序列。
php中rand是代表什么意思
2024-04-25

php中rand是代表什么意思

在php中,rand()函数代表生成随机整数的意思,语法为“rand(min,max)”;参数min用于设置随机数的最小值,参数max用于设置随机数的最大值,该函数的返回结果是从min到max(包含min和max)的随机整数。
2014-08-15

php的链表是什么意思

在php中,链表是一种基础数据结构,是一种线性表;链表会动态地进行存储分配,可以适应数据动态增减的情况,且可以方便地插入、删除数据项。链表有三种不同的类型:单向链表,双向链表以及循环链表。
2014-10-31

java中的this关键字是什么意思

什么是this?this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。用法如下:用"this.成员变量名称"和重名的局部变量区分开来;用"this.成员方法名"访问成员方法。class Person{private String name
java中的this关键字是什么意思
2018-03-31

MySQL中的KEY关键字是什么意思?

键与索引同义。如果要为列创建索引,请使用“Key”。正如官方文档所述:KEY 通常是 INDEX 的同义词。当在列定义中给定时,键属性 PRIMARY KEY 也可以指定为 KEY。这是为了与其他数据库系统兼容而实现的。该密钥可以与主
2023-10-22

java中import关键字是什么意思

import关键字是用来导入包的,因为实际开发中,你不可能把所有的类都放在同一个default包里面。包的作用就是给java类进行分拣,不同业务逻辑的java类放在同一个包中,比如工具包,实体包。那么,你在a包中的A类,希望调用b包中的B类,就需要导入b包。i
java中import关键字是什么意思
2016-07-18

C#中@字符d是个什么意思

这篇文章主要介绍了C#中@字符d是个什么意思?具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-05-18

Mysql虚表指的是什么意思

这篇文章主要讲解了“Mysql虚表指的是什么意思”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql虚表指的是什么意思”吧!虚拟表是实际上并不存在(物理上不
2023-05-25

ascll字符指的是什么意思

小编给大家分享一下ascll字符指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ascll是“American Standard Code for I
2023-06-14

编程热搜

目录