Jim*_*ski 4 sql postgresql postgresql-9.5
Postgres 中以下语句的含义和目的是什么:
xmax::text::int > 0
Run Code Online (Sandbox Code Playgroud)
这看起来像是先转换为文本,然后再次转换为整数???
Postgres 中的每个表都有几个系统列。它们是非标准的 Postgres 特定功能,使用它们需要了解 Postgres 内部结构的基本知识。
该列xmax本质上包含 0 或某个交易编号。然而,该值不能直接与数字进行比较,因为该列的类型为xid,尚未定义相应的运算符。为此,需要使用铸造。
比较也可以写为
xmax::text <> '0'
Run Code Online (Sandbox Code Playgroud)
表达式的含义可以从列描述中推断出来:
最大x
删除事务的标识(事务 ID),或者对于未删除的行版本为零。在可见行版本中,该列可能不为零。这通常表明删除事务尚未提交,或者尝试的删除已回滚。
| 归档时间: |
|
| 查看次数: |
2147 次 |
| 最近记录: |