本節では、ErrorResponseおよびNoticeResponseメッセージ内で現れる可能性があるフィールドについて説明します。 それぞれのフィールド種類は、単一バイトの識別子トークンを持ちます。 メッセージ内に与えられる任意のフィールド種類は、多くてもメッセージ当たり1つでなければならないことに注意してください。
深刻度です。 フィールドの内容はERROR、FATAL、PANIC(エラーメッセージ内)、WARNING、NOTICE、DEBUG、INFO、LOG(警報メッセージ内)、もしくは、これらの1つを地域化された翻訳です。 常に存在します。
コード、そのエラー用のSQLSTATEコードです(付録A参照)。 地域化されません。 常に存在します。
メッセージ、主に人間が読むべきエラーメッセージです。 これは正確、簡潔でなければなりません。(通常は1行です。) 常に存在します。
詳細です。 問題のより詳細を説明する省略可能な二次的なエラーメッセージです。 複数行に跨る可能性があります。
ヒントです。 その問題にどう対応するかを表す省略可能な提言です。 これは、詳細と異なり、事実ではなく提案(不適切な場合もありますが)を提供することを目的としたものです。 複数行に跨る可能性があります。
位置です。 フィールド値は、エラーカーソルの位置を示すもので、元の問い合わせ文字列へのインデックスを10進ASCIIで表した整数です。 先頭の文字がインデックス1になり、位置はバイトではなく文字で数えられます。
場所です。 エラーが発生したコンテキストを示します。 現在ここには、実行注のPL関数の呼出しスタックトレースバックが含まれます。 この追跡情報は、1行当たり1項目として、もっとも最近のものが初めに現れます。
ファイルです。 エラーを報告した、ソースコードのファイル名です。
行です。 エラーを報告した、ソースコードの行番号です。
ルーチンです。 エラーを報告した、ソースコードのルーチン名です。
クライアントには、必要な情報を表示する際整形する責任があります。 具体的には、必要に応じて長い行を分割しなければなりません。 エラーメッセージフィールド内にある改行文字は、改行ではなく、段落の区切りとして扱わなければなりません。