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%] 
  • 相关阅读:
    理解SynchronizationContext,如何在Winform里面跨线程访问UI控件
    ThreadPool.QueueUserWorkItem引发的血案,线程池异步非正确姿势导致程序闪退的问题
    实战经验分享之C#对象XML序列化
    C#wxpay和alipay
    C#调用windows api 实现打印机控制
    C#winform程序关闭计算机的正确姿势
    自动化控制之线程池的使用
    自动化控制之重码校验
    (转)C#中的那些全局异常捕获
    android studio 2.32躺坑记
  • 原文地址:https://www.cnblogs.com/linyouyi/p/14850830.html
Copyright © 2011-2022 走看看