今回は、Goldの「G4 障害対応 - G4.3 レプリケーションの障害と復旧」からの出題です。
pg_receivewal は WAL を受信する際、常に 16MB の WALファイル単位でのみ保存し、未完了ファイルを出力することはない。
pg_receivewal を利用する場合、プライマリサーバ側で archive_mode=on を設定していなければ接続できない。
pg_receivewal は受信した WAL を自動的に restore_command を介してスタンバイへ転送する機能を持つ。
pg_receivewal はレプリケーションスロットを指定して接続でき、スロットを利用することで WAL の削除を防ぎ、確実に受信できるように構成できる。
pg_receivewal はロジカルレプリケーションのサブスクリプションを作成し、その変更データを JSON 形式で出力するツールである。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
A. 誤った記述です。
pg_receivewal はストリーミングで WAL を受信するため、書き込み途中のファイルが生成されることがあります。書き込み途中のファイルには .partial の接尾辞がつきます。
B. 誤った記述です。
pg_receivewal はレプリケーションプロトコルで WAL を受信するため、archive_mode は必須ではありません。
C. 誤った記述です。
pg_receivewal は WAL を受信して保存するツールであり、restore_command を実行したり、スタンバイへ転送する機能はありません。restore_command はリカバリ時に PostgreSQL サーバが実行するものです。
D. 正しい記述です。
pg_receivewal は --slot オプションで物理レプリケーションスロットを使用できます。スロットを利用すると、クライアントが受信を確認するまでプライマリ側で必要な WAL が保持されるため、WAL を損失することがなくなります。ただし、受信が停止するとプライマリ側のディスク使用量が増加する点には注意が必要です。
E. 誤った記述です。
pg_receivewal は物理 WAL をそのまま受信・保存するツールであり、JSON 形式で出力する機能はありません。
従って、正解は D です。
例題および解説は、ボランティアをはじめとした協力者によって作成されたものであり、実際の試験問題とは異なります。
※ご質問やご意見、誤記等のご連絡は、こちらまでお願いします。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。
© EDUCO All Rights Reserved.