1.2. 構造的な基本事項

先に進む前に、PostgreSQLシステム構成の基礎を理解すべきです。PostgreSQLの各部分がどのように相互作用しているかを理解することにより、この章の内容が判りやすくなります。

データベースの用語では PostgreSQL はクライアント/サーバモデルを使用しています。 PostgreSQLのセッションは以下の協調動作するプロセス(プログラム)から構成されます。

典型的なクライアント/サーバアプリケーションでは、クライアントとサーバは異なるホストになることができます。その場合、それらは TCP/IP ネットワーク接続経由で通信を行います。このことは注意して下さい。 なぜなら、クライアントマシンからアクセスできるファイルは、データベースサーバマシンではアクセスできない(または、異なるファイル名でアクセスできるだけである)可能性があるからです。

PostgreSQL サーバはクライアントから複数の同時接続を取り扱うことができます。そのため、サーバは接続毎に新しいプロセスを開始("forks")します。その時点から、クライアントと新しいサーバプロセスは元のpostmasterプロセスによる干渉がない状態で通信を行います。こうして、postmaster は常に稼働し、クライアントとの接続を待ち、一方、クライアントと関連したサーバプロセスは通信を行います。(もちろんこれは全てユーザからは判りません。ここでの説明は完全性のみを目的としています。)