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%] 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM