特定の拡張、主にカスタムアクセスメソッドを実装する拡張は、クラッシュ時の安全性を確保するために先行書き込みログ(WAL)を実行する必要があるかもしれません。 PostgreSQLは、拡張がこの目標を達成するために2つの方法を提供します。
1つ目として、拡張は汎用WALの使用を選択できます。 これは、ページの変更を汎用的な方法で記述する特殊なWALレコードです。 この方法は実装が簡単で、レコードを適用するために拡張ライブラリをロードする必要がありません。 ただし、汎用WALレコードはロジカルデコーディングを実行するときには無視されます。
2つ目として、拡張はカスタムリソースマネージャの使用を選択できます。 この方法はより柔軟で、ロジカルデコーディングをサポートし、汎用WALよりも小さな先行書き込みログ(WAL)レコードを生成できる場合があります。 ただし、拡張が実装するのはより複雑です。