支援的版本: 目前 (17) / 16 / 15 / 14 / 13
開發版本: devel
不支援的版本: 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

53.8. 錯誤與通知訊息欄位 #

本節描述了可能出現在 ErrorResponse 和 NoticeResponse 訊息中的欄位。每個欄位類型都有一個單一位元組識別代碼。請注意,任何給定的欄位類型在每個訊息中最多應出現一次。

S

嚴重性:欄位內容為 ERRORFATALPANIC (在錯誤訊息中),或 WARNINGNOTICEDEBUGINFOLOG (在通知訊息中),或是其中之一的本地化翻譯。 始終存在。

V

嚴重性:欄位內容為 ERRORFATALPANIC (在錯誤訊息中),或 WARNINGNOTICEDEBUGINFOLOG (在通知訊息中)。除了內容永遠不會本地化之外,這與 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

行:報告錯誤的原始程式碼位置的行號。

R

常式:報告錯誤的原始程式碼常式的名稱。

注意

僅為有限數量的錯誤類型提供結構描述名稱、表格名稱、欄位名稱、資料類型名稱和約束名稱的欄位;請參閱附錄 A。前端不應假設任何這些欄位的存在保證了另一個欄位的存在。核心錯誤來源會遵守上述相互關係,但使用者定義的函式可能會以其他方式使用這些欄位。同樣地,用戶端不應假設這些欄位表示目前資料庫中的當前物件。

客戶端有責任格式化顯示的資訊以符合其需求;特別是,它應在需要時進行換行。錯誤訊息欄位中出現的換行符應被視為段落分隔符,而非斷行符。

提交更正

如果您在文件中發現任何不正確、與您使用特定功能的經驗不符,或需要進一步澄清的地方,請使用此表單回報文件問題。