postgresql之根據lsn 獲取 wal文件名

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):轉換wal日誌位置爲文件名。

pg_walfile_name_offset(lsn pg_lsn):返回轉換後的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():轉換wal日誌位置爲文件名。

pg_xlogfile_name_offset():返回轉換後的wal日誌文件名和偏移量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章