pg_lsn
型
pg_lsn
型はWALの位置を示すLSN(Log Sequence Number)データを格納するために使用します。
この型はXLogRecPtr
を示すPostgreSQLの内部的なシステムの型です。
内部的にはLSNは64bit整数型で、WALストリームのバイト位置を表現します。
LSNは例えば、16/B374D848
のように2つのスラッシュで分けられた8桁の16進数で表示されます。
pg_lsn
は例えば、=
や>
などの標準の比較演算子をサポートしています。
2つのLSNは-
演算子を使い引き算することも可能で、結果はこれらの2つのWALの位置のbytes差分です。
また、バイト数はそれぞれ+(pg_lsn,numeric)
や-(pg_lsn,numeric)
演算子を使って加算、減算ができます。
計算されたLSNはpg_lsn
型の範囲、つまり、0/0
とFFFFFFFF/FFFFFFFF
の間にあるべきであることに注意してください。