W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
本節(jié)描述各種消息的詳細(xì)格式。每種消息都標(biāo)記來(lái)指示它是由前端(F)、后端(B)或者兩者(F & B)發(fā)送的。 請(qǐng)注意,盡管每條消息在開(kāi)頭都包含一個(gè)字節(jié)計(jì)數(shù),但是消息格式也被定義為無(wú)需參考字節(jié)計(jì)數(shù)就可以找到消息的結(jié)尾。 這樣是為了有效性檢查(CopyData消息是一個(gè)例外,因?yàn)樗纬梢粋€(gè)數(shù)據(jù)流的一部分;任意獨(dú)立的CopyData消息可能是無(wú)法自解釋的)。
標(biāo)識(shí)該消息是一條認(rèn)證請(qǐng)求。
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括這個(gè)長(zhǎng)度本身。
指定該認(rèn)證是成功的。
標(biāo)識(shí)該消息是一條認(rèn)證請(qǐng)求。
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括長(zhǎng)度自身。
指定要求Kerberos V5認(rèn)證。
標(biāo)識(shí)該消息是一條認(rèn)證請(qǐng)求。
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括長(zhǎng)度自身。
指定要求一個(gè)明文的口令。
標(biāo)識(shí)這條消息是一個(gè)認(rèn)證請(qǐng)求。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
指定要求一個(gè)MD5加密的口令。
加密口令的時(shí)候使用的鹽粒。
標(biāo)識(shí)這條消息是一個(gè)認(rèn)證請(qǐng)求。
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括長(zhǎng)度本身。
指定請(qǐng)求一個(gè)SCM信任消息。
標(biāo)識(shí)該消息是一個(gè)認(rèn)證請(qǐng)求。
消息內(nèi)容的長(zhǎng)度以字節(jié)為單位,包括自己。
指定被請(qǐng)求的是GSSAPI認(rèn)證。
標(biāo)識(shí)該消息是一個(gè)認(rèn)證請(qǐng)求。
消息內(nèi)容的長(zhǎng)度以字節(jié)為單位,包括自己。
指定被請(qǐng)求的是SSPI認(rèn)證。
標(biāo)識(shí)該消息是一個(gè)認(rèn)證請(qǐng)求。
消息內(nèi)容的長(zhǎng)度以字節(jié)為單位,包括自己。
指定該消息包含GSSAPI或SSPI數(shù)據(jù)。
n
GSSAPI或SSPI認(rèn)證數(shù)據(jù)。
標(biāo)識(shí)該消息是一個(gè)認(rèn)證請(qǐng)求。
消息內(nèi)容的長(zhǎng)度,以字節(jié)為單位,包括其自身。
指定SASL認(rèn)證被要求。
消息體是一個(gè)SASL認(rèn)證機(jī)制的列表,該列表按照服務(wù)器偏愛(ài)的順序組織。在最后一個(gè)認(rèn)證機(jī)制名稱的后面需要一個(gè)零字節(jié)作為終結(jié)符。對(duì)于每一種機(jī)制,有下列信息:
一種SASL認(rèn)證機(jī)制的名稱。
標(biāo)識(shí)該消息是一個(gè)認(rèn)證請(qǐng)求。
消息內(nèi)容的長(zhǎng)度,以字節(jié)為單位,包括其自身。
指定這個(gè)消息包含一個(gè)SASL挑戰(zhàn)。
n
SASL數(shù)據(jù),與使用的SASL機(jī)制有關(guān)。
標(biāo)識(shí)該消息是一個(gè)認(rèn)證請(qǐng)求。
消息內(nèi)容的長(zhǎng)度,以字節(jié)為單位,包括其自身。
指定SASL認(rèn)證已經(jīng)完成。
n
SASL產(chǎn)出的“額外數(shù)據(jù)”,與使用的SASL機(jī)制有關(guān)。
標(biāo)識(shí)該消息是一個(gè)取消鍵數(shù)據(jù)。如果前端希望能夠在稍后發(fā)出CancelRequest消息, 那么它必須保存這個(gè)值。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
后端的進(jìn)程號(hào)(PID)。
此后端的密鑰。
標(biāo)識(shí)該信息是一個(gè)綁定命令。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
目標(biāo)入口的名字(空字符串則選取未命名的入口)。
源預(yù)備語(yǔ)句的名字(空字符串則選取未命名的預(yù)備語(yǔ)句)。
后面跟著的參數(shù)格式代碼的數(shù)目(由下文的C
說(shuō)明)。 這個(gè)數(shù)值可以是零,表示沒(méi)有參數(shù),或者是參數(shù)都使用缺省格式(文本); 也可以是一,這種情況下指定的格式代碼被應(yīng)用于所有參數(shù);或者它可以等于實(shí)際參數(shù)的數(shù)目。
C
]
參數(shù)格式代碼。目前每個(gè)都必須是零(文本)或者一(二進(jìn)制)。
后面跟著的參數(shù)值的數(shù)目(可能為零)。這些必須和查詢需要的參數(shù)個(gè)數(shù)匹配。
然后,每個(gè)參數(shù)都會(huì)出現(xiàn)下面的域?qū)Γ?/p>
參數(shù)值的長(zhǎng)度,以字節(jié)計(jì)(這個(gè)長(zhǎng)度并不包含長(zhǎng)度本身)。可以為零。 一個(gè)特殊的情況是,-1 表示一個(gè)NULL參數(shù)值。在NULL 的情況下, 后面不會(huì)跟著字節(jié)值。
n
參數(shù)值,使用關(guān)聯(lián)的格式代碼表示的格式。n
是上文的長(zhǎng)度。
在最后一個(gè)參數(shù)之后,出現(xiàn)下面的域:
后面跟著的結(jié)果列格式代碼數(shù)目(下文的R
描述)。 這個(gè)數(shù)目可以是零表示沒(méi)有結(jié)果列或者結(jié)果列都使用缺省格式(文本); 也可以是一,這種情況下指定的格式代碼被應(yīng)用于所有結(jié)果列(如果有的話);或者它可以等于查詢的結(jié)果列的實(shí)際數(shù)目。
R
]
結(jié)果列格式代碼。目前每個(gè)必須是零(文本)或者一(二進(jìn)制)。
標(biāo)識(shí)該消息為一個(gè)綁定結(jié)束標(biāo)識(shí)符。
以字節(jié)計(jì)的消息長(zhǎng)度,包括長(zhǎng)度本身。
以字節(jié)計(jì)的消息長(zhǎng)度。包括長(zhǎng)度本身。
取消請(qǐng)求代碼。該值被選中在高16位包含1234
,并且在低16位包含 5678
(為避免混淆,這個(gè)代碼不能和任何協(xié)議版本號(hào)相同)。
目標(biāo)后端的進(jìn)程號(hào)(PID)。
目標(biāo)后端的密鑰。
標(biāo)識(shí)這條消息是一個(gè)Close命令。
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括長(zhǎng)度本身。
'S
'關(guān)閉一個(gè)準(zhǔn)備的語(yǔ)句;或者'P
'關(guān)閉一個(gè)入口。
一個(gè)要關(guān)閉的預(yù)備語(yǔ)句或者入口的名字(一個(gè)空字符串選擇未命名的預(yù)備語(yǔ)句或者入口)。
標(biāo)識(shí)消息是一個(gè)Close完成指示器。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
標(biāo)識(shí)此消息是一個(gè)命令結(jié)束響應(yīng)。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
命令標(biāo)記。它通常是一個(gè)單字,標(biāo)識(shí)被完成的SQL命令。
對(duì)于INSERT
命令,該標(biāo)記是INSERT
, 其中oid
rows
rows
是已被插入的行數(shù)。如果rows
為1并且目標(biāo)表已有OIDs, oid
為已插入行的對(duì)象ID;但是OIDs 系統(tǒng)列已經(jīng)不再被支持;因此oid
始終為 0。
對(duì)于DELETE
命令,該標(biāo)記是DELETE
, 其中rows
rows
是已被刪除的行數(shù)。
對(duì)于UPDATE
命令,該標(biāo)記是UPDATE
,其中rows
rows
是已被更新的行數(shù)。
對(duì)于SELECT
或CREATE TABLE AS
命令,該標(biāo)記是SELECT
,其中rows
rows
是被檢索的行數(shù)。
對(duì)于MOVE
命令,該標(biāo)記是MOVE
,其中rows
rows
是游標(biāo)位置被移動(dòng)的行數(shù)。
對(duì)于FETCH
命令,該標(biāo)記是FETCH
,其中rows
rows
是已從游標(biāo)中檢索出來(lái)的行數(shù)。
對(duì)于COPY
命令,該標(biāo)記是COPY
,其中rows
rows
是已拷貝的行數(shù)(注意,行計(jì)數(shù)只在PostgreSQL 8.2及其后的版本中出現(xiàn))。
標(biāo)識(shí)這條消息是一個(gè)COPY
數(shù)據(jù)。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
n
構(gòu)成COPY
數(shù)據(jù)流的一部分的數(shù)據(jù)。從后端發(fā)出的消息總是對(duì)應(yīng)單一的數(shù)據(jù)行,但是前端發(fā)出的消息可能會(huì)任意分割數(shù)據(jù)流。
標(biāo)識(shí)這條信息是一個(gè)COPY
結(jié)束指示器。
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括長(zhǎng)度本身。
標(biāo)識(shí)這條消息是一個(gè)COPY
失敗指示器。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
一個(gè)報(bào)告失敗原因的錯(cuò)誤消息。
標(biāo)識(shí)這條消息是一條Start Copy In(開(kāi)始拷貝入)響應(yīng)消息。前端現(xiàn)在必須發(fā)送拷貝入數(shù)據(jù)(如果還沒(méi)準(zhǔn)備好做這些事情,那么發(fā)送一條CopyFail消息)。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
0表示全體拷貝格式都是文本(數(shù)據(jù)行由新符分隔, 列由分隔字符分隔等等)。1 表示全體拷貝格式都是二進(jìn)制的(類似于DataRow 格式)。參閱COPY獲取更多信息。
要拷貝的數(shù)據(jù)中的列數(shù)(由下文的N
解釋)。
N
]
每個(gè)列要使用的格式代碼。目前每個(gè)都必須是零(文本)或者一(二進(jìn)制)。 如果全體拷貝格式都是文本,那么所有的都必須是零。
標(biāo)識(shí)這條消息是一條Start Copy Out(開(kāi)始拷貝出)響應(yīng)消息。這條消息后面將跟著拷貝出數(shù)據(jù)。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括它自己。
0表示全體拷貝格式都是文本(數(shù)據(jù)行由新符分隔, 列由分隔字符分隔等等)。1 表示全體拷貝格式都是二進(jìn)制的(類似于DataRow 格式)。參閱COPY獲取更多信息。
要拷貝的數(shù)據(jù)的列數(shù)(在下文的N
說(shuō)明)。
N
]
每個(gè)列要使用的格式代碼。目前每個(gè)都必須是零(文本)或者一(二進(jìn)制)。 如果全體拷貝格式都是文本,那么所有的都必須是零。
標(biāo)識(shí)這個(gè)消息是一個(gè)Start Copy Both(啟動(dòng)雙向復(fù)制)響應(yīng)。這個(gè)消息只用于流復(fù)制。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度自身。
0表示全體COPY
格式都是文本(數(shù)據(jù)行由新符分隔,列由分隔字符分隔等等)。1 表示全體拷貝格式都是二進(jìn)制的(類似于DataRow格式)。參閱COPY獲取更多信息。
要拷貝的數(shù)據(jù)中的列數(shù)目(在下文的N
說(shuō)明)。
N
]
每個(gè)列要使用的格式代碼。目前每個(gè)都必須是零(文本)或者一(二進(jìn)制)。 如果全體拷貝格式都是文本,那么所有的代碼都必須是零。
標(biāo)識(shí)這個(gè)消息是一個(gè)數(shù)據(jù)行。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度自身。
后面跟著的列值的個(gè)數(shù)(可能是零)。
然后,為每個(gè)列都會(huì)出現(xiàn)下面的域?qū)Γ?/p>
列值的長(zhǎng)度,以字節(jié)計(jì)(這個(gè)長(zhǎng)度不包括它自己)。可以為零。一個(gè)特殊的情況是,-1表示一個(gè)NULL的域值。 如果是NULL的情況則后面不會(huì)跟著值字節(jié)。
n
一個(gè)列的數(shù)值,以相關(guān)的格式代碼指示的格式展現(xiàn)。n
是上文的長(zhǎng)度。
標(biāo)識(shí)該消息是一個(gè)Describe(描述)命令。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括字節(jié)本身。
'S
'描述一個(gè)預(yù)備語(yǔ)句;或者 'P
' 描述一個(gè)入口。
要描述的預(yù)備語(yǔ)句或者入口的名字(或者一個(gè)空字符串,就會(huì)選取未命名的預(yù)備語(yǔ)句或者入口)。
標(biāo)識(shí)這條消息是對(duì)一個(gè)空查詢字符串的響應(yīng)(這個(gè)消息替換了CommandComplete)。
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括它自己。
標(biāo)識(shí)該消息是一條錯(cuò)誤。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
消息體由一個(gè)或多個(gè)標(biāo)識(shí)域組成,后面跟著一個(gè)零字節(jié)作為終止符。域可以以任何順序出現(xiàn)。對(duì)于每個(gè)域都有下面的東西:
一個(gè)標(biāo)識(shí)域類型的代碼;如果為零,這就是消息終止符并且不會(huì)跟著有字符串。目前定義的域類型在第 52.8 節(jié)列出。由于將來(lái)可能增加更多的域類型,所以前端應(yīng)該默默地忽略未識(shí)別類型的域。
域值。
標(biāo)識(shí)該消息是一個(gè)Execute命令。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度自身。
要執(zhí)行的入口的名字(空字符串選擇未命名的入口)。
要返回的最大行數(shù),如果入口包含返回行的查詢(否則忽略)。零表示“無(wú)限制”。
標(biāo)識(shí)該消息是一條Flush命令。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
標(biāo)識(shí)該消息是一個(gè)函數(shù)調(diào)用。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
指定要調(diào)用的函數(shù)的對(duì)象ID(OID)。
后面跟著的參數(shù)格式代碼的數(shù)目(用下文的C
表示)。 它可以是零,表示沒(méi)有參數(shù),或者是所有參數(shù)都使用缺省格式(文本); 也可以是一,這種情況下聲明的格式代碼被應(yīng)用于所有參數(shù);或者它可以等于參數(shù)的實(shí)際個(gè)數(shù)。
C
]
參數(shù)格式代碼。目前每個(gè)必須是零(文本)或者一(二進(jìn)制)
指定提供給函數(shù)的參數(shù)個(gè)數(shù)。
然后,對(duì)每個(gè)參數(shù)都出現(xiàn)下面域?qū)Γ?/p>
以字節(jié)計(jì)的參數(shù)值的長(zhǎng)度(不包括長(zhǎng)度本身)??梢詾榱?。一個(gè)特殊的例子是,-1表示一個(gè)NULL參數(shù)值。如果是NULL,則沒(méi)有參數(shù)字節(jié)跟在后面。
n
參數(shù)的值,格式由相關(guān)的格式代碼指示。n
是上文的長(zhǎng)度。
在最后一個(gè)參數(shù)之后,出現(xiàn)下面的域:
函數(shù)結(jié)果的格式代碼。目前必須是零(文本)或者一(二進(jìn)制)。
標(biāo)識(shí)這條消息是一個(gè)函數(shù)調(diào)用結(jié)果。
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括長(zhǎng)度本身。
以字節(jié)計(jì)的函數(shù)結(jié)果值的長(zhǎng)度(不包括長(zhǎng)度本身)。可以為零。一個(gè)特殊的情況是,-1表示NULL函數(shù)結(jié)果。如果是NULL則后面沒(méi)有值字節(jié)跟隨。
n
函數(shù)結(jié)果的值,格式由相關(guān)聯(lián)的格式代碼指示。n
是上文的長(zhǎng)度。
標(biāo)識(shí)該消息是一個(gè)GSSAPI或SSPI響應(yīng)。注意這也被用于SASL和口令響應(yīng)消息。準(zhǔn)確的消息類型可以從上下文中得出。
消息內(nèi)容的長(zhǎng)度,以字節(jié)為單位,包括其自身。
n
GSSAPI/SSPI相關(guān)的消息數(shù)據(jù)。
標(biāo)識(shí)該消息是一個(gè)協(xié)議版本協(xié)商消息。
消息內(nèi)容的長(zhǎng)度,以字節(jié)為單位,包括其自身。
對(duì)于客戶端請(qǐng)求的主協(xié)議版本,服務(wù)器能支持的最新的次協(xié)議版本。
服務(wù)器無(wú)法識(shí)別的協(xié)議選項(xiàng)數(shù)目。
然后,對(duì)于服務(wù)器無(wú)法識(shí)別的協(xié)議選項(xiàng),還有下列信息:
選項(xiàng)名稱。
標(biāo)識(shí)這條消息是一個(gè)無(wú)數(shù)據(jù)指示器。
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括長(zhǎng)度本身。
標(biāo)識(shí)這條消息是一個(gè)通知。
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括長(zhǎng)度本身。
消息體由一個(gè)或多個(gè)標(biāo)識(shí)域組成,后面跟著零字節(jié)作為中止符。域可以以任何順序出現(xiàn)。對(duì)于每個(gè)域,都有下面的東西:
一個(gè)標(biāo)識(shí)域類型的代碼;如果為零,那么它就是消息終止符,并且后面不會(huì)跟著字符串。目前定義的域類型在第 52.8 節(jié)里列出。由于將來(lái)可能會(huì)增加更多域類型,所以前端應(yīng)該將不能識(shí)別的域安靜地忽略掉。
域值。
標(biāo)識(shí)這條消息是一個(gè)通知響應(yīng)。
以字節(jié)計(jì)地消息內(nèi)容地長(zhǎng)度,包括長(zhǎng)度本身。
通知后端進(jìn)程的進(jìn)程ID。
通知被拋出的通道的名字。
從通知進(jìn)程傳遞過(guò)來(lái)的“載荷”字符串。
標(biāo)識(shí)該消息是一個(gè)參數(shù)描述。
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括長(zhǎng)度本身。
語(yǔ)句所使用的參數(shù)的個(gè)數(shù)(可以為零)。
然后,對(duì)每個(gè)參數(shù),有下面的東西:
指定參數(shù)數(shù)據(jù)類型的對(duì)象ID。
標(biāo)識(shí)這條消息是一個(gè)運(yùn)行時(shí)參數(shù)的狀態(tài)報(bào)告。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度自身。
被報(bào)告的運(yùn)行時(shí)參數(shù)的名字。
參數(shù)的當(dāng)前值。
標(biāo)識(shí)該消息是一條Parse命令。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度自身。
目的預(yù)備語(yǔ)句的名字(空字符串選取未命名的預(yù)備語(yǔ)句)。
要分析的查詢字符串。
指定的參數(shù)數(shù)據(jù)類型的數(shù)目(可以為零)。請(qǐng)注意這個(gè)參數(shù)并不表示可能在查詢字符串里出現(xiàn)的參數(shù)個(gè)數(shù), 只是前端希望預(yù)先為其指定類型的參數(shù)數(shù)目。
然后,對(duì)每個(gè)參數(shù),有下面的東西:
指定參數(shù)數(shù)據(jù)類型的對(duì)象ID。這里為零等效于不指定該類型。
標(biāo)識(shí)該消息是一個(gè)Parse完成指示器。
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括長(zhǎng)度自身。
標(biāo)識(shí)該消息是一個(gè)口令響應(yīng)。注意這也被用于GSSAPI、SSPI以及SASL響應(yīng)消息。確切的消息類型可以從上下文推出。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
口令(如果要求了,就是加密后的)。
標(biāo)識(shí)這條消息是一個(gè)入口暫停指示器。請(qǐng)注意這個(gè)消息只出現(xiàn)在達(dá)到一條Execute消息的行計(jì)數(shù)限制的時(shí)候。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度自身。
標(biāo)識(shí)該消息是一個(gè)簡(jiǎn)單查詢。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度自身。
查詢字符串自身。
標(biāo)識(shí)消息的類型。在后端為新的查詢周期準(zhǔn)備好的時(shí)候,總會(huì)發(fā)送 ReadyForQuery。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
當(dāng)前后端事務(wù)狀態(tài)指示器??赡艿闹凳强臻e狀況下的'I
'(不在事務(wù)塊里);在事務(wù)塊里是'T
'; 或者在一個(gè)失敗的事務(wù)塊里是'E
'(在事務(wù)塊結(jié)束之前,任何查詢都將被拒絕)。
標(biāo)識(shí)該消息是一個(gè)行描述。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度自身。
指定在一個(gè)行里面的域的數(shù)目(可以為零)。
然后對(duì)于每個(gè)字段,有下面的東西:
字段名字。
如果域可以被標(biāo)識(shí)為一個(gè)指定表的列,這里就是表的對(duì)象ID;否則就是零。
如果該域可以被標(biāo)識(shí)為一個(gè)指定表的列,這里就是該列的屬性號(hào);否則就是零。
域數(shù)據(jù)類型的對(duì)象ID。
數(shù)據(jù)類型尺寸(參閱pg_type.typlen
)。請(qǐng)注意負(fù)值表示變寬類型。
類型修飾詞(參閱pg_attribute.atttypmod
)。 修飾詞的含義是類型相關(guān)的。
用于該域的格式碼。目前會(huì)是零(文本)或者一(二進(jìn)制)。 在Describe語(yǔ)句的變體返回的RowDescription里,格式碼還是未知的,因此總是零。
標(biāo)識(shí)該消息是一個(gè)初始SASL響應(yīng)。注意這也被用于GSSAPI、SSPI以及口令響應(yīng)消息。確切的消息類型可以從上下文推知。
消息內(nèi)容的長(zhǎng)度,以字節(jié)為單位,包括其自身。
客戶端選擇的SASL認(rèn)證機(jī)制的名稱。
后面跟著的SASL機(jī)制相關(guān)的"Initial Client Response"的長(zhǎng)度,如果沒(méi)有Initial Response則為-1。
n
SASL機(jī)制相關(guān)的"Initial Response"。
標(biāo)識(shí)該消息是一個(gè)初始SASL響應(yīng)。注意這也被用于GSSAPI、SSPI以及口令響應(yīng)消息。確切的消息類型可以從上下文推知。
消息內(nèi)容的長(zhǎng)度,以字節(jié)為單位,包括其自身。
n
SASL機(jī)制相關(guān)的消息數(shù)據(jù)。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度本身。
SSL請(qǐng)求碼。選取的值在高16位里包含1234
,在低16位里包含5679
(為了避免混淆,這個(gè)編碼必須和任何協(xié)議版本號(hào)不同)。
消息內(nèi)容的長(zhǎng)度以字節(jié)為單位,包括自己。
GSSAPI加密請(qǐng)求代碼。選擇該值以在高16位中包含1234
,并且在低16位中包含5680
。 (為了避免混淆,此代碼不得與任何協(xié)議版本號(hào)相同。)
以字節(jié)計(jì)的消息內(nèi)容長(zhǎng)度,包括長(zhǎng)度自身。
協(xié)議版本號(hào)。高16位是主版本號(hào)(對(duì)這里描述的協(xié)議而言是 3)。低16位是次版本號(hào)(對(duì)于這里描述的協(xié)議而言是 0)。
協(xié)議版本號(hào)后面跟著一個(gè)或多個(gè)參數(shù)名和值字符串的對(duì)。要求在最后一個(gè)名字/數(shù)值對(duì)后面有個(gè)零字節(jié)作為終止符。 參數(shù)可以以任意順序出現(xiàn)。user
是必須的,其它都是可選的。每個(gè)參數(shù)是這樣指定的:
參數(shù)名。目前可以識(shí)別的名字是:
user
用于連接的數(shù)據(jù)庫(kù)用戶名。必須;無(wú)缺省。
database
要連接的數(shù)據(jù)庫(kù)。缺省是用戶名。
options
給后端的命令行參數(shù)(這個(gè)特性已經(jīng)廢棄,更好的方法是設(shè)置單獨(dú)的運(yùn)行時(shí)參數(shù))。 這個(gè)字符串中的空格會(huì)被當(dāng)做參數(shù)的分隔符,除非用一個(gè)反斜線(\
) 對(duì)它轉(zhuǎn)義。寫(xiě)\\
可表示一個(gè)而字面意義上的反斜線。
replication
用于連入流復(fù)制模式,其中可以發(fā)出復(fù)制命令的一個(gè)小型集合而不是SQL語(yǔ)句。值可以是true
、false
或者database
,默認(rèn)值是false
。詳情請(qǐng)參考第 52.4 節(jié)。
除了上述參數(shù)之外,還可以列出其他參數(shù)。以_pq_.
開(kāi)頭的參數(shù)名被保留給協(xié)議擴(kuò)展之用,而其他的參數(shù)名被當(dāng)做在后端開(kāi)始時(shí)要設(shè)置的運(yùn)行時(shí)參數(shù)。這類設(shè)置將在后端啟動(dòng)期間被應(yīng)用(如果有命令行參數(shù),則在解析完命令行參數(shù)之后)并且將作為會(huì)話的默認(rèn)值。
參數(shù)值。
表示該消息為一條 Sync 命令。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度自身。
標(biāo)識(shí)本消息是一個(gè)終止。
以字節(jié)計(jì)的消息內(nèi)容的長(zhǎng)度,包括長(zhǎng)度自身。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: