10.0及以后版本:
用法:
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
--------------------+--------------------------+---------------------------------
2/C000840 | 00000001000000020000000C | (00000001000000020000000C,2112)
(1 row)
注:
pg_current_wal_lsn():獲得當(dāng)前wal日志寫入位置。
pg_walfile_name(lsn pg_lsn):轉(zhuǎn)換wal日志位置為文件名。
pg_walfile_name_offset(lsn pg_lsn):返回轉(zhuǎn)換后的wal日志文件名和偏移量。
10.0之前版本:
postgres=# select pg_current_xlog_location(),
pg_xlogfile_name(pg_current_xlog_location()),
pg_xlogfile_name_offset(pg_current_xlog_location());
pg_current_xlog_location | pg_xlogfile_name | pg_xlogfile_name_offset
--------------------------+--------------------------+-------------------------------------
596/C4DA2000 | 0000000100000596000000C4 | (0000000100000596000000C4,14295040)
注:
pg_current_xlog_location():獲得當(dāng)前wal日志寫入位置。
pg_xlogfile_name():轉(zhuǎn)換wal日志位置為文件名。
pg_xlogfile_name_offset():返回轉(zhuǎn)換后的wal日志文件名和偏移量。
補(bǔ)充:postgresql lsn與wal file的對(duì)應(yīng)關(guān)系
系統(tǒng)環(huán)境:
PostgreSQL 11.6
查看當(dāng)前的LSN和wal 名稱
postgres=# select pg_current_wal_lsn(),pg_walfile_name(pg_current_wal_lsn());
pg_current_wal_lsn | pg_walfile_name
--------------------±-------------------------
4/D20001B0 | 0000000100000004000000D2
對(duì)應(yīng)關(guān)系
LSN:4/D20001B0
說明:LNS有三部分組成
4:代表walfile的第二部分
D2:代表walfile文件的最后兩位
0001B0:代表偏移量
walfile:00000001 00000004 000000D2
說明:由24個(gè)字符,三部分組成,每部分由8個(gè)字符組成,代表含義如下
00000001:代表數(shù)據(jù)庫(kù)運(yùn)行的時(shí)間軸,如果恢復(fù)過數(shù)據(jù)庫(kù)(主備切換)這個(gè)值會(huì)增大
00000004:對(duì)LSN的第二部分對(duì)應(yīng)
000000D2:代表walfile文件的最后兩位
查看walfile文件的路徑
postgres=# select * from pg_ls_waldir() order by modification desc limit 5;
name | size | modification
--------------------------±---------±-----------------------
0000000100000004000000D2 | 16777216 | 2020-05-30 12:01:57+08
0000000100000004000000D1 | 16777216 | 2020-05-27 16:11:10+08
0000000100000004000000D0 | 16777216 | 2020-05-24 23:18:25+08
0000000100000004000000CF | 16777216 | 2020-05-14 14:17:16+08
0000000100000004000000CE | 16777216 | 2020-05-09 14:24:25+08
說明:pg的walfile大小默認(rèn)是16MB,可以在初始化數(shù)據(jù)庫(kù)時(shí)通過initdb --wal-segsize=SIZE方式來修改
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- postgresql 利用xlog進(jìn)行熱備操作
- Postgresql中xlog生成和清理邏輯操作
- Postgresql去重函數(shù)distinct的用法說明
- postgresql 12版本搭建及主備部署操作
- 開源數(shù)據(jù)庫(kù)postgreSQL13在麒麟v10sp1源碼安裝過程詳解
- postgresql初始化之initdb的使用詳解
- postgresql 如何查看pg_wal目錄下xlog文件總大小
- PostgreSQL 實(shí)現(xiàn)定時(shí)job執(zhí)行(pgAgent)