首页 > 数据库技术 > 详细

PostgreSQL日志号LSN和wal日志文件

时间:2021-06-04 22:23:21      阅读:24      评论:0      收藏:0      [点我收藏+]

日志文件则由24个16进制数字组成,分三部分:时间线、LSN高32位、LSN低32位/(2**24)的值

 

使用lsn 获取 wal文件名的实例

postgres=# select pg_current_wal_lsn(),pg_walfile_name(pg_current_wal_lsn()),pg_walfile_name_offset(pg_current_wal_lsn());
 pg_current_wal_lsn |     pg_walfile_name      |       pg_walfile_name_offset       
--------------------+--------------------------+------------------------------------
 3FB/AE61A1A0       | 00000001000003FB000000AE | (00000001000003FB000000AE,6398368)
(1 row)

postgres=# select x61A1A0::int;
  int4   
---------
 6398368
(1 row)

pg_current_wal_lsn():获得当前wal日志写入位置。
pg_walfile_name():转换wal日志位置为文件名。
pg_walfile_name_offset():返回转换后的wal日志文件名和偏移量。

 

说明
LSN:3FB/AE61A1A0
3FB:代表wal文件的第二部分
AE:代表wal文件的最后两位
61A1A0:代表偏移量

00000001000003FB000000AE
wal文件由24个字符,三部分组成,每部分由8个字符组成,代表含义如下
00000001:代表数据库运行的时间轴,如果恢复过数据库(主备切换)这个值会增大
000003FB:对LSN的第二部分对应
000000AE:代表walfile文件的最后两位

PostgreSQL日志号LSN和wal日志文件

原文:https://www.cnblogs.com/linyouyi/p/14850830.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!