先に進む前に、PostgreSQLシステム構成の基礎を理解すべきです。PostgreSQLの各部分がどのように相互作用しているかを理解することにより、本章の内容がわかりやすくなります。データベースの用語で言うと、PostgreSQLはクライアント/サーバモデルを使用しています。PostgreSQLのセッションは以下の協調動作するプロセス(プログラム)から構成されます。これは、データベースファイルを管理し、クライアントアプリケーションからのデータベースの接続を受け付け、クライアントに代わってデータベースに対する処理を行います。データベースサーバプログラムはpostgresと呼ばれています。ユーザの、データベース操作を行うクライアント(フロントエンド)アプリケーション。クライアントアプリケーションはその性質上非常に多様性があります。テキスト指向のツール、グラフィカルなアプリケーション、データベースにアクセスしWebページを表示するWebサーバ、あるいはデータベースに特化した保守ツールなどがあります。PostgreSQLの配布物では、いくつかのクライアントアプリケーションを用意しています。そのほとんどはユーザによって開発されました。典型的なクライアント/サーバアプリケーションでは、クライアントとサーバはホストが異なっても構いません。その場合、クライアントとサーバはTCP/IPネットワーク接続経由で通信を行います。このことには注意してください。クライアントマシンからアクセスできるファイルは、データベースサーバマシンではアクセスできない(または、異なるファイル名でアクセスできるだけである)可能性があるからです。PostgreSQLサーバはクライアントから複数の同時接続を取り扱うことができます。そのため、サーバは接続ごとに新しいプロセスを開始("fork")します。その時点から、クライアントと新しいサーバプロセスは元のpostgresプロセスによる干渉がない状態で通信を行います。(もちろんこれは全てユーザからはわかりません。ここでの説明は完全性のみを目的としています)。