★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

1.2. 構造的な基本事項 #

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

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

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

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