今回は、Goldの「G1 運用管理 - G1.3 データベースの構造(プロセス構造)」からの出題です。
A. データベースに接続するクライアント一つ一つについて、別々のサーバプロセスが起動する。
B. データベースクラスタ内のそれぞれのデータベースについて、別々のサーバプロセスが起動する。
C. WAL ライタ、自動バキュームランチャ、統計情報コレクタなどいくつかのプロセスが動作しているが、いずれも postgres という同一の実行ファイルから作られるプロセスである。
D. クライアントが接続していないときは、通常は postmaster というプロセスだけが動作している。
E. データベースクラスタ1つに対して、postmaster というプロセスが1つ動作している。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
PostgreSQL はマルチプロセスの構造をとっており、1つのデータベースクラスタを postmaster と呼ばれるプロセスが管理しています。
1つのサーバ上で複数のデータベースクラスタを動かす場合は、データベースクラスタの数だけ postmaster プロセスが動作します。
それぞれのデータベースクラスタでは、writer, wal writer, autovacuum launcher, stats collector などといった複数の postgres プロセスが動作しています。これらは異なる機能を持っていますが、いずれも postgres (Windowsでは postgres.exe)という同一の実行ファイルから生成されます。
これらのプロセスは、データベースに接続するクライアントが存在しない時でも動作しています。
クライアントがサーバに接続すると、それに対応して別の postgres プロセスが起動してデータベースアクセスの処理を実行します。
従って、A, C, E が正解です。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.