pg_lsn
PostgreSQL 日志序列号
当前查看 PostgreSQL 18.6。
PG10–20 核心源码清单。类型转换与操作符类列出源码显式声明的关系;缺少记录不能排除通过其他机制进行转换或使用索引。
定义
PostgreSQL 日志序列号
pg_lsn
- 目录名称
- pg_catalog.pg_lsn
- 类型 OID
- 3220
- 类型种类
- 基础类型
- 声明长度
- 8 字节
- 存储策略
- plain
- 输入函数
- pg_lsn_in
- 输出函数
- pg_lsn_out
中文手册
阅读来源定义
8.20. pg_lsn 类型
8.20. pg_lsn 类型
pg_lsn 数据类型可用于存储 LSN(日志序列号)数据。LSN 是指向 WAL 中某个位置的指针。该类型是 XLogRecPtr 的一种表示形式,也是 PostgreSQL 的内部系统类型之一。
在内部,LSN 是一个 64 位整数,表示预写式日志流中的字节位置。它打印为两个最多 8 位的十六进制数,中间以斜线分隔,例如 16/B374D848。pg_lsn 类型支持标准比较操作符,如 = 和 >。两个 LSN 可以用 - 操作符相减,结果是这两个预写式日志位置之间相隔的字节数。此外,还可以分别使用 +(pg_lsn,numeric) 和 -(pg_lsn,numeric) 操作符,在 LSN 上加减字节数。请注意,计算得到的 LSN 必须位于 pg_lsn 类型的取值范围内,也就是在 0/0 和 FFFFFFFF/FFFFFFFF 之间。
系统目录属性
此构建的源码初始化值。字段含义参见 pg_type 。包含头文件默认值;依赖构建的常量保留符号形式,不作为服务器运行时实测。
oid3220descrPostgreSQL LSNtypacl_null_typlen8typelem0typnamepg_lsntypsendpg_lsn_sendtyptypebtypaligndtyparray0typbyvalFLOAT8PASSBYVALtypdelim','typinputpg_lsn_intypmodin-typndims0typownerPOSTGREStyprelid0typmodout-typoutputpg_lsn_outtyptypmod-1typanalyze-typdefault_null_typnotnullftypreceivepg_lsn_recvtypstorageptypbasetype0typcategoryUtypcollation0typisdefinedttypnamespacepg_catalogtypsubscript-typdefaultbin_null_array_type_oid3221typispreferredfarray_type_name_pg_lsn
运算符重载 10
每种操作数签名均为独立重载。实现函数和返回类型来自同一源码构建。
| 运算符 | 左操作数 | 右操作数 | 返回类型 | 含义 | 实现函数 |
|---|---|---|---|---|---|
= | pg_lsn | pg_lsn | bool | 等于 | pg_lsn_eq |
<> | pg_lsn | pg_lsn | bool | 不等于 | pg_lsn_ne |
< | pg_lsn | pg_lsn | bool | 小于 | pg_lsn_lt |
> | pg_lsn | pg_lsn | bool | 大于 | pg_lsn_gt |
<= | pg_lsn | pg_lsn | bool | 小于等于 | pg_lsn_le |
>= | pg_lsn | pg_lsn | bool | 大于等于 | pg_lsn_ge |
- | pg_lsn | pg_lsn | numeric | 相减 | pg_lsn_mi |
+ | pg_lsn | numeric | pg_lsn | 相加 | pg_lsn_pli |
+ | numeric | pg_lsn | pg_lsn | 相加 | numeric_pl_pg_lsn |
- | pg_lsn | numeric | pg_lsn | 相减 | pg_lsn_mii |
操作符类 5
声明输入类型与此类型相符的操作符类。多态操作符类、类型转换和表达式索引还可能提供其他索引路径;不能仅凭此表判断是否支持索引。
| 操作符类 | 索引方法 | 输入类型 | 操作符族 | 默认 | 存储类型 |
|---|---|---|---|---|---|
pg_lsn_ops | btree | pg_lsn | btree/pg_lsn_ops | 是 | 与输入类型相同 |
pg_lsn_ops | hash | pg_lsn | hash/pg_lsn_ops | 是 | 与输入类型相同 |
pg_lsn_minmax_ops | brin | pg_lsn | brin/pg_lsn_minmax_ops | 是 | pg_lsn |
pg_lsn_minmax_multi_ops | brin | pg_lsn | brin/pg_lsn_minmax_multi_ops | 否 | pg_lsn |
pg_lsn_bloom_ops | brin | pg_lsn | brin/pg_lsn_bloom_ops | 否 | pg_lsn |
版本比较
PostgreSQL 17.11 → 18.6。属性比较不包含构建标识和说明正文;原始目录字段与源描述保留原文。
这两个样本的系统目录和结构化属性没有变化。
文档与源码
- 构建
- 18.6 · https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
相关条目
全部数据类型 · 下载此版本 JSON · 最早收录的样本不代表该类型的实际引入版本。