PostgreSQL-系统列
2022/9/4 2:23:58
本文主要是介绍PostgreSQL-系统列,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
每个表都有几个由系统隐式定义的系统列。因此,这些名称不能用作用户定义列的名称。(请注意,这些限制与名称是否是关键字是分开的;引用名称不会让您逃避这些限制。)您实际上不需要关心这些列;只知道它们存在。
tableoid
包含此行的表的 OID。该列对于从分区表或继承层次结构中进行选择的查询特别方便,因为没有它,很难判断一行来自哪个单独的表。tableoid 可以与 pg_class 的 oid 列连接以获得表名。
xmin
此行版本的插入事务的标识(事务 ID)。(行版本是行的单个状态;行的每次更新都会为同一逻辑行创建一个新的行版本。)
cmin
插入事务中的命令标识符(从零开始)。
xmax
删除事务的标识(事务 ID),或者对于未删除的行版本为零。在可见行版本中,此列可能不为零。这通常表明删除事务尚未提交,或者尝试的删除已回滚。
cmax
删除事务中的命令标识符,或零。
ctid
行版本在其表中的物理位置。请注意,尽管 ctid 可用于非常快速地定位行版本,但如果行的 ctid 被 VACUUM FULL 更新或移动,它会发生变化。因此 ctid 作为长期行标识符是无用的。应该使用主键来标识逻辑行。
事务标识符也是 32 位。在长期存在的数据库中,事务 ID 可以环绕。
命令标识符也是 32 位数量。这在单个事务中创建了 2的32次方(40 亿)条 SQL 命令的硬限制。在实践中,这个限制不是问题——请注意,限制是 SQL 命令的数量,而不是处理的行数。此外,只有实际修改数据库内容的命令才会使用命令标识符。
这篇关于PostgreSQL-系统列的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-05快速清空 PostgreSQL 数据库中的所有表格,让你的数据库重新焕然一新!
- 2024-01-04在PostgreSQL中创建角色:判断角色是否存在并创建
- 2023-05-16PostgreSQL一站式插件推荐 -- pg_enterprise_views
- 2022-11-22PostgreSQL 实时位置跟踪
- 2022-11-22如何将PostgreSQL插件移植到openGauss
- 2022-11-11PostgreSQL:修改数据库用户的密码
- 2022-11-06Windows 环境搭建 PostgreSQL 物理复制高可用架构数据库服务
- 2022-10-27Windows 环境搭建 PostgreSQL 逻辑复制高可用架构数据库服务
- 2022-10-11PostgreSql安装(Windows10版本)
- 2022-09-13PostgreSQL-Network Address类型操作和函数