PostgreSQL Programmer's Guide | ||
---|---|---|
Prev | Chapter 23. フロントエンド/バックエンド プロトコル | Next |
この章では、各メッセージの書式の詳細について述べます。それぞれ のメッセージはフロントエンド(F)、postmaster/バックエンド(B)のいづれか、 もしくは両方から送出されることができます。
送出された内容中(CopyInResponse参照)のメッセージを ASCII列と識別します。
列中の各フィールドの1ビットを使用したビットマップ。 最初のフィールドは最初のバイトのビット7に対応して、 二番目のフィールドは最初のバイトのビット6に対応。 八番目のフィールドは最初のバイトのビット0に対応し、 九番目のフィールドは二番目バイトのビット8という風に 繰り返します。フィールドがヌルでなければビットが設定されます。
このとき、各フィールドが非ヌル値であれば、下記の通りです。
これの大きさを含めたフィールドの値の大きさを指定します。
フィールド自身の価をASCII文字で指定します。 nは上記の大きさから4を引いた値です。
メッセージを認証要求として識別します。
認証が成功したと指定します。
認証要求としてメッセージを識別します。
ケルベロスV4認証が必要と指定します。
認証要求としてメッセージを識別します。
ケルベロスV5認証が必要と指定しあmす。
認証要求としてメッセージを識別します。
非暗号化パスワードを要求すると指定します。
認証要求としてメッセージを識別します。
暗号化パスワードを要求すると指定します。
パスワードを暗号化する際に使うsalt。
送出した(CopyOutResponse参照)内容中のメッセージを バイナリー列として識別します。
列中の各フィールドの1ビットを使用したビットマップ。 最初のフィールドは最初のバイトのビット7に対応して、 二番目のフィールドは最初のバイトのビット6に対応。 八番目のフィールドは最初のバイトのビット0に対応し、 九番目のフィールドは二番目バイトのビット8という風に 繰り返します。フィールドがヌルでなければビットが設定されます。
このとき、各フィールドが非ヌル値であれば、下記の通りです。
この大きさを除いたフィールドの値の大きさを指定します。
フィールド自身の値をバイナリーフォーマットで指定します。 nは上記の大きさです。
メッセージを応答完了と識別します。
コマンドタグ、これは普通は(いつもではないが)SQLコマンドの 完了を識別する単語です。
これは、列のストリームで、各列は Byte1('\n')で終了します。 このとき続いて、Byte1('\\'), Byte1('.'),Byte1('\n')の並びを送出します。
送出された内容中(AsciiRow参照)のメッセージをコピー開始の応答と 識別します。
送出された内容中(BinaryRow参照)のメッセージをコピー開始の応答と 識別します。
メッセージをカーソル応答と識別します。
カーソルの名前、カーソルが暗黙的ならば、"空白"となります。
空の問い合わせ応答としてメッセージを識別します。
未使用
バイト単位でのパケットの大きさ。
(crypt()関数を使って)暗号化したパスワード
エラーとしてメッセージを識別します。
エラーメッセージ自身
関数呼び出しとしてメッセージを識別します。
未使用
呼び出した関数のオブジェクトIDを指定します。
関数の引数の数を指定します。
このとき、それぞれの引数は、次の通りです。
引数の値の大きさを指定します。
フィールドそれ自身の値をバイナリ形式で指定します。 nは上記の大きさです。
関数呼び出しの結果としてメッセージを識別します。
実際に返された結果を指定します。
結果の値の大きさを指定します。
結果自身の値をバイナリーフォーマットで指定します。 nは上記の大きさです。
未使用(はっきり言えば、FunctionResultResponseと FunctionVoidResponsは同一ですが、いくつかのオプションがあります)
関数呼び出しの結果としてメッセージを識別します。
実際の結果が返されなかったことを指定します。
注意としてメッセージを識別します。
注意メッセージ自身。
メッセージを通知応答と識別します。
バックエンドのプロセスID。
通知が発生した表の名称。
メッセージを問い合わせと識別します。
問い合わせ自身
メッセージを列の記述と識別します。
列中のフィールドの数(0かもしれない)を指定します。
このとき、各々のフィールドは次の通りです。
フィールド名を指定します。
フィールド型のオブジェクトIDを指定します。
型の大きさを指定します。
バイト単位でのパケットの大きさ。
プロトコルバージョン番号。最初の16ビットがメジャーな バージョン番号で、残りの16ビットがマイナーなバージョン番号です。
データベース名で、省略した場合の既定値はユーザ名となります。
ユーザ名
postmasterによってバックエンドに渡された追加のコマンドライン 引数。
未使用
選択的ttyバックエンドはデバッグメッセージ用に使用すべきです。
メッセージを終了と識別します。
バイト単位でのパケットの大きさ
非暗号化パスワード
Prev | Home | Next |
メッセージデータ型 | Up | GCC のデフォルト値の最適化 |