2013-01-03 38 views
4

我有流式複製成功運行,並希望監視它之間的主從。我知道有兩個值,我可以得到每個:Postgresql複製監視計算

master: select pg_current_xlog_location() 
standby: select pg_last_xlog_receive_location() 

但是我不知道做什麼用的要麼返回的十六進制值做。這是以字節爲單位的大小嗎?我如何計算差異?這種差異告訴了我什麼?

謝謝

回答

4

如果pg_current_xlog_location()讓你像64/A8EB6C20的值,這意味着你的Xlog軟件的位置是64A8EB6C20十六進制,這實際上是一個字節數。要計算差異,您可以減去這兩個值。 (出於奇怪的歷史原因,某些值按順序跳過,但只要你比較平等就可以了。)

在PostgreSQL 9.2中,你可以使用函數pg_xlog_location_diff來完成所有這些爲你。

這些數字是什麼意思?它們是預寫式日誌流量。實際上,它大約是您寫入數據庫的數據量。您需要運行應用程序,並瞭解您的設置可以維護什麼值以及什麼是適當的延遲。

+0

謝謝彼得。那麼,我應該從主人減去奴隸嗎?我是否正確地認爲如果差異是500,那麼這意味着奴隸在主人之後500字節? – wsb3383

+1

@ wsb3383這是正確的。 –