pg_lsn

表示LSN的数据类型

pg_lsn 是一种表示LSN(日志序列号)的数据类型。

pg_lsnPostgreSQL 9.4 中添加。

用法

pg_lsn 支持 0/0FFFFFFFF/FFFFFFFF 之间的值。

支持标准比较运算符,例如 =>

PostgreSQL 14 开始,可以添加和减去字节值。

更改历史记录

示例

pg_lsn 的基本用法

postgres=# SELECT '0/0'::pg_lsn;
 pg_lsn 
--------
 0/0
(1 row)

确定两个LSN之间以字节为单位的距离

postgres=# SELECT '7/A25801C8'::pg_lsn - '7/A2000000'::pg_lsn;
 ?column? 
----------
  5767624
(1 row)

添加和减去字节值(PostgreSQL 14 及更高版本)

postgres=# SELECT '7/A25801C8'::pg_lsn + 128;
  ?column?  
------------
 7/A2580248
(1 row)

postgres=# SELECT '7/A25801C8'::pg_lsn - 65536;
  ?column?  
------------
 7/A25701C8
(1 row)

尝试转换无效的LSN

postgres=# SELECT '-1/-1'::pg_lsn;
ERROR:  invalid input syntax for type pg_lsn: "-1/-1"
LINE 1: SELECT '-1/-1'::pg_lsn;

无法添加LSN

postgres=# SELECT '7/A25801C8'::pg_lsn + '7/A2000000'::pg_lsn;
ERROR:  operator does not exist: pg_lsn + pg_lsn
LINE 1: SELECT '7/A25801C8'::pg_lsn + '7/A2000000'::pg_lsn;
  • PostgreSQL 文档: pg_lsn

分类

数据类型PostgreSQL 内部

另请参阅

LSNpg_wal_lsn_diff()

反馈

提交任何关于"pg_lsn" 的评论、建议或更正 此处