2012-12-13 77 views
2

其實我使用WAL文件設計複製工具,我需要知道,如果沒有通過它我們可以得到特別事務ID(XID)執行的SQL語句PostgreSQL的WAL文件內部構件

這是一個任何方法我從處理pg_xlog目錄中的WAL文件中獲得的信息塊...

INSERT INTO "16425" ([cur:0/192E8EAC, xid:1111, rmid:10(Heap), len:39/67, prev:0/112E8E68] insert: s/d/r:1663/16384/16425 blk/off:527/44 header: t_infomask2 3 t_infomask 2048 t_hoff 24 
INSERT INTO "16425" ([cur:0/192E8EF0, xid:1111, rmid:10(Heap), len:39/67, prev:0/112E8EAC] insert: s/d/r:1663/16384/16425 blk/off:527/45 header: t_infomask2 3 t_infomask 2048 t_hoff 24 

回答

2

不,這不太容易。 WAL的工作水平要低得多。

目前正在開展一些工作來完成PostgreSQL 9.3中描述的內容,但這是一個非常大的項目。在pgsql-hackers列表中搜索「邏輯複製」和「BDR」以瞭解更多信息。

+0

好的,你可以直接打電話給我,是否有postgresql中的任何元數據用於語句和事務ID,以便我可以從那裏提取數據,我知道它的繁瑣工作 – user1802481

+0

是否存在以及通過讀取WAL文件重建sql語句的方法 – user1802481

+0

你可以嘗試從文本服務器日誌中提取一些信息,但它不會讓你走得很遠。 –