zoukankan      html  css  js  c++  java
  • PostgreSQL日志号LSN和wal日志文件

    日志文件则由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 x'61A1A0'::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文件的最后两位

    查看wal日志记录大小

    => SELECT pg_size_pretty('0/3A69C478'::pg_lsn - '0/38E04A08'::pg_lsn);
     pg_size_pretty
    ----------------
     25 MB
    (1 row)

      查看统计数据:

    postgres$ /usr/lib/postgresql/11/bin/pg_waldump --stats -p /var/lib/postgresql/11/main/pg_wal -s 0/3A69C530 -e 0/3BE87658
    Type              N      (%)   Record size      (%)   FPI size      (%)  
    ----              -      ---   -----------      ---   --------      ---  
    XLOG           1721 (  1,03)         84329 (  0,77)   13916104 (100,00)       
    Transaction   27235 ( 16,32)        926070 (  8,46)          0 (  0,00)         
    Storage           1 (  0,00)            42 (  0,00)          0 (  0,00)             
    CLOG              1 (  0,00)            30 (  0,00)          0 (  0,00)             
    Standby           4 (  0,00)           240 (  0,00)          0 (  0,00)            
    Heap2         27522 ( 16,49)       1726352 ( 15,76)          0 (  0,00)        
    Heap         109691 ( 65,71)       8169121 ( 74,59)          0 (  0,00)        
    Btree           756 (  0,45)         45380 (  0,41)          0 (  0,00)          
               --------               --------            --------                
    Total        166931               10951564 [44,04%]   13916104 [55,96%] 
  • 相关阅读:
    Redhat各个版本和内核对照
    Java8 lambda表达式总结
    conda 安装指定版本的指定包
    git初始化的几句shell
    MYsqli 绑定插入与查询实例
    按天去除重复数据,为0则取0,否则取最大的那个值
    存储过程,循环插入1000条记录
    主表如何统计在附表中的出现次数?
    Invalid argument supplied for foreach()
    二十、mysql mysqldump备份工具
  • 原文地址:https://www.cnblogs.com/linyouyi/p/14850830.html
Copyright © 2011-2022 走看看