4

ストリーミングレプリケーションを正常に実行していますが、マスターとスレーブの間で監視したいと思います。私はそれぞれに得ることができる2つの値があることを知っています:

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

ただし、どちらかによって返される16進値をどうするかはわかりません。これはバイト単位のサイズですか?差を計算するにはどうすればよいですか?そして、その違いは私に何を教えてくれますか?

ありがとうございました

4

1 に答える 1

4

pg_current_xlog_location()のような値が得られた場合、64/A8EB6C20それはxlogの場所が64A8EB6C20 16進数であることを意味します。これは、事実上バイト数です。差を計算するには、2つの値を減算します。(奇妙な歴史的理由により、そのシーケンスの特定の値はスキップされますが、同等性についてのみ比較する限り、問題はありません。)

PostgreSQL 9.2では、この関数pg_xlog_location_diffを使用してこれらすべてを実行できます。

数字はどういう意味ですか?それらは先行書き込みログトラフィックです。事実上、これはデータベースに書き込むデータの量とほぼ同じです。アプリケーションを実行して、セットアップで維持できる値と適切なラグを把握する必要があります。

于 2013-01-03T19:03:06.313 に答える