主頁 > 知識庫 > postgresql之使用lsn 獲取 wal文件名的實例

postgresql之使用lsn 獲取 wal文件名的實例

熱門標簽:濟南外呼網(wǎng)絡(luò)電話線路 地圖標注要花多少錢 移動外呼系統(tǒng)模擬題 電話機器人怎么換人工座席 400電話申請客服 電銷機器人能補救房產(chǎn)中介嗎 江蘇400電話辦理官方 廣州電銷機器人公司招聘 天津開發(fā)區(qū)地圖標注app

10.0及以后版本:

pg_walfile_name()

用法:

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():獲得當前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():獲得當前wal日志寫入位置。

pg_xlogfile_name():轉(zhuǎn)換wal日志位置為文件名。

pg_xlogfile_name_offset():返回轉(zhuǎn)換后的wal日志文件名和偏移量。

補充:postgresql lsn與wal file的對應(yīng)關(guān)系

系統(tǒng)環(huán)境:

PostgreSQL 11.6

查看當前的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

對應(yīng)關(guān)系

LSN:4/D20001B0

說明:LNS有三部分組成

4:代表walfile的第二部分

D2:代表walfile文件的最后兩位

0001B0:代表偏移量

walfile:00000001 00000004 000000D2

說明:由24個字符,三部分組成,每部分由8個字符組成,代表含義如下

00000001:代表數(shù)據(jù)庫運行的時間軸,如果恢復(fù)過數(shù)據(jù)庫(主備切換)這個值會增大

00000004:對LSN的第二部分對應(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大小默認是16MB,可以在初始化數(shù)據(jù)庫時通過initdb --wal-segsize=SIZE方式來修改

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • postgresql 利用xlog進行熱備操作
  • Postgresql中xlog生成和清理邏輯操作
  • Postgresql去重函數(shù)distinct的用法說明
  • postgresql 12版本搭建及主備部署操作
  • 開源數(shù)據(jù)庫postgreSQL13在麒麟v10sp1源碼安裝過程詳解
  • postgresql初始化之initdb的使用詳解
  • postgresql 如何查看pg_wal目錄下xlog文件總大小
  • PostgreSQL 實現(xiàn)定時job執(zhí)行(pgAgent)

標簽:辛集 榆林 濮陽 昭通 海西 溫州 杭州 寶雞

巨人網(wǎng)絡(luò)通訊聲明:本文標題《postgresql之使用lsn 獲取 wal文件名的實例》,本文關(guān)鍵詞  postgresql,之,使用,lsn,獲取,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《postgresql之使用lsn 獲取 wal文件名的實例》相關(guān)的同類信息!
  • 本頁收集關(guān)于postgresql之使用lsn 獲取 wal文件名的實例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章