PostgreSQL Programmer's Guide
PrevChapter 23. フロントエンド/バックエンド プロトコルNext

概要

フロントエンド(クライアント上で動作)と、postmaster、バックエンド (サーバ上で動作)は三つの主要な構成要素です。postmasterとバックエンドは 同一の実行モジュールですが、別の役割をはたします。

フロントエンドはスタートアップパケットをpostmasterへ送出します。 これはユーザ名とユーザが接続したいデータベースを含んでいます。 これにはユーザ名、およびそのユーザが接続したいデータベース名が 含まれます。postmaster はこの情報と pg_hba.conf(5) の中の情報を を使って、さらにどんな認証情報をフロントエンドに対して要求する べきかを決定し、その結果に従ってフロントエンドに応答を返します。

フロントエンドは必要な認証情報を送出します。ひとたびpostmasterがこれの 妥当性を確認したら、フロントエンドに認証の応答をおこない、バックエンドに 制御を渡します。

その後の通信はフロントエンドとバックエンド間の問い合わせと結果の交換です。 postmasteは通信にもはや関与しません。

フロントエンドが切断を希望すると、適当なパケットを送出し、バックエンド からの応答を待つことなく接続を切ります。

パケットはデータストリームとして送出されます。最初のバイトは、パケットの 残りの部分にあるべきものを決定します。例外は、フロントエンドから postmasterへ送出されるパケットで、まずパケットの長さ、続いてパケット そのものが送出されます。この違いは歴史的なものです。


PrevHomeNext
フロントエンド/バックエンド プロトコルUpプロトコル