PREPARATION
受験対策

Goldの例題解説
「G4.1 起こりうる障害のパターン」

今回は、Goldの「G4 障害対応 - G4.1 起こりうる障害のパターン」からの出題です。

例題

4.09

pg_ctl kill コマンドに関する以下の記述について、正しいものを全て選択してください。

  1. pg_ctl kill TERM <PID> をバックエンドプロセスに対して実行すると、対象プロセスのセッションは終了される。

  2. pg_ctl kill INT <PID> をバックエンドプロセスに対して実行すると、現在実行中の問い合わせがキャンセルされる。

  3. pg_ctl kill HUP <PID> を postmaster プロセスに送信すると、即座にデータベースクラスタが停止する。

  4. pg_ctl kill KILL <PID> は PostgreSQL 独自の安全な強制終了手段であり、クラッシュリカバリは発生しない。

  5. pg_ctl kill TERM の代わりに pg_ctl kill SIGTERM を使用しても同様の効果が得られる。

※この例題は実際のOSS-DB技術者認定試験とは異なります。

解答と解説

A. 正しい記述です。
TERM は、対象プロセスに通常終了を要求するシグナル名です。バックエンドプロセスに送信した場合、進行中の処理を適切に終了させた後で終了します。

B. 正しい記述です。
INT は、現在実行中の問い合わせをキャンセルします。 pg_cancel_backend() 関数と同様の効果を持ちます。

C. 誤った記述です。
HUP シグナルでクラスタを停止することはできません。postmaster プロセスに対して送信すると postgresql.conf などの設定ファイルの再読込が行われます。

D. 誤った記述です。
pg_ctl kill KILL コマンドによって SIGKILL シグナルを送信するとPostgreSQLのプロセスは即時終了し、安全な終了処理は行われません。そのため、PostgreSQL の次回の起動時にはクラッシュリカバリが実行されます。

E. 誤った記述です。
pg_ctl kill は内部的には OS のシグナル送信機構を利用しますが、操作内容は TERM、INT、HUP などの名称で指定します。 SIGINT や SIGTERM のように "SIG" の文字列を付けることはできません。

従って、正解は A, B です。

例題および解説は、ボランティアをはじめとした協力者によって作成されたものであり、実際の試験問題とは異なります。

ご質問やご意見、誤記等のご連絡は、こちらまでお願いします。
※実際の試験問題に関するお問い合わせについてはご回答いたしかねます。あからじめご了承ください。

企業の基幹システムや業務システム、AIなどの
新領域での「PostgreSQL」の採用が拡大している中、
昇格・昇給・就職・転職に必ず役立つ認定です

OSS-DBの受験対策

受験の学習をサポートする情報や対策に役立つ情報をご紹介

例題解説

例題のアーカイブを試験ごとにまとめています。OSS-DB技術者認定試験の学習にお役立てください

学習教材・教育機関ご紹介

OSS-DB認定教材や教育機関について詳しくご説明いたします。

無料技術解説セミナー

受験準備をされていらっしゃる方々を対象に、無料技術解説セミナーの日程をお知らせしています。

OSS-DB道場

OSS-DBやPostgreSQLの知識、技術を得るために役立つ情報の紹介やコラムを公開しています。