本篇文章為大家展示了怎么在postgresql中利用lsn獲取wal文件名,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
目前成都創(chuàng)新互聯(lián)已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、東興網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。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():獲得當(dāng)前wal日志寫入位置。
pg_walfile_name(lsn pg_lsn):轉(zhuǎn)換wal日志位置為文件名。
pg_walfile_name_offset(lsn pg_lsn):返回轉(zhuǎn)換后的wal日志文件名和偏移量。
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
postgres=# select pg_current_wal_lsn(),pg_walfile_name(pg_current_wal_lsn()); pg_current_wal_lsn | pg_walfile_name --------------------±------------------------- 4/D20001B0 | 0000000100000004000000D2
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文件的最后兩位
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
上述內(nèi)容就是怎么在postgresql中利用lsn獲取wal文件名,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。