postgresql的實體備份方法之一 :
在使用pg_start_backup()函數建立備份點後,使用者可以開始拷貝pg的資料檔案。
調用pg_start_backup後,會建立一個檢查點,同時在$pgdata中建立一個backup_label檔案。
裡面包含了start time的資訊,是建立完檢查點後的時間。
但是,使用pg_backup_start_time得到的時間與之不符。
原因分析,首先我們要看看pg_backup_start_time的代碼
代碼如下
是以從代碼可以看到pg_backup_start_time是從backup_label中擷取到啟動時間,并轉化為帶時區的時間的。
cst時間,cst同時可以代表如下 4 個不同的時區:
是以問題其實是出在時區轉化這裡:
postgresql pg_backup_start_time應該是把cst用usa時區來處理的