本節描述可能出現在 ErrorResponse 和 NoticeResponse 訊息中的欄位。每種欄位類型都有一個單一位元組的識別符記號。請注意,任何給定的欄位類型在每個訊息中最多出現一次。
S
嚴重性:欄位內容為 ERROR
、FATAL
或 PANIC
(在錯誤訊息中),或 WARNING
、NOTICE
、DEBUG
、INFO
或 LOG
(在通知訊息中),或是這些詞彙的本地化翻譯。始終存在。
V
嚴重性:欄位內容為 ERROR
、FATAL
或 PANIC
(在錯誤訊息中),或 WARNING
、NOTICE
、DEBUG
、INFO
或 LOG
(在通知訊息中)。這與 S
欄位相同,除了內容永遠不會本地化。僅在 PostgreSQL 9.6 及更高版本產生的訊息中出現。
C
代碼:錯誤的 SQLSTATE 代碼(請參閱附錄 A)。不可本地化。始終存在。
M
訊息:主要的人工可讀錯誤訊息。這應該是準確但簡潔的(通常是一行)。始終存在。
D
詳細資訊:一個可選的次要錯誤訊息,帶有關於問題的更多細節。可能會有多行。
H
提示:關於如何處理問題的可選建議。這旨在與「詳細資訊」不同,因為它提供建議(可能不適當)而不是確鑿的事實。可能會有多行。
P
位置:欄位值是一個十進制 ASCII 整數,表示一個錯誤游標位置,作為原始查詢字串的索引。第一個字符的索引為 1,並且位置以字符而不是字節來衡量。
p
內部位置:這與 P
欄位的定義相同,但當游標位置引用內部生成的命令而不是客戶端提交的命令時使用。q
欄位將始終在此欄位出現時出現。
q
內部查詢:失敗的內部生成命令的文本。例如,這可能是 PL/pgSQL 函數發出的 SQL 查詢。
W
位置:錯誤發生的上下文指示。目前,這包括活動程序語言函數和內部生成的查詢的呼叫堆疊追蹤。追蹤是每行一個條目,最近的在最前面。
s
綱要名稱:如果錯誤與特定的資料庫物件相關聯,則包含該物件的綱要的名稱(如果有的話)。
t
表格名稱:如果錯誤與特定的表格相關聯,則該表格的名稱。(參閱綱要名稱欄位以了解表格的綱要名稱。)
c
欄位名稱:如果錯誤與特定的表格欄位相關聯,則該欄位的名稱。(參閱綱要和表格名稱欄位以識別表格。)
d
資料類型名稱:如果錯誤與特定的資料類型相關聯,則該資料類型的名稱。(參閱綱要名稱欄位以了解資料類型的綱要名稱。)
n
約束名稱:如果錯誤與特定的約束相關聯,則該約束的名稱。參閱上面列出的欄位以了解相關的表格或網域。(就此而言,索引被視為約束,即使它們不是使用約束語法建立的。)
F
檔案:報告錯誤的原始碼位置的檔案名稱。
L
Line(行號):錯誤回報的原始碼位置的行號。
R
Routine(常式):回報錯誤的原始碼常式的名稱。
schema name(綱要名稱)、table name(表格名稱)、column name(欄位名稱)、data type name(資料類型名稱)和 constraint name(約束名稱)等欄位僅針對有限數量的錯誤類型提供;請參閱附錄 A。 前端不應假定任何這些欄位的存在,就保證另一個欄位的存在。 核心錯誤來源遵循上述相互關係,但是使用者定義函數可能會以其他方式使用這些欄位。 同樣地,客戶端不應假設這些欄位表示目前資料庫中的現有物件。
客戶端負責格式化顯示的資訊以滿足其需求;特別是,它應根據需要斷開長行。 錯誤訊息欄位中出現的換行符應被視為段落分隔符,而不是換行符。
如果您在文件中發現任何不正確、與您對特定功能的體驗不符或需要進一步澄清的地方,請使用此表格來報告文件問題。