54.7. ФоÑмаÑÑ ÑообÑений #
Ð ÑÑом Ñазделе подÑобно опиÑÑваеÑÑÑ ÑоÑÐ¼Ð°Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑообÑениÑ. ÐÑе ÑообÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¼ÐµÑÐµÐ½Ñ Ñимволами, обознаÑаÑÑими, ÐºÐ°ÐºÐ°Ñ ÑÑоÑона Ð¼Ð¾Ð¶ÐµÑ Ð¸Ñ Ð¿ÐµÑедаваÑÑ: ÐºÐ»Ð¸ÐµÐ½Ñ (F), ÑеÑÐ²ÐµÑ (B) или обе ÑÑоÑÐ¾Ð½Ñ (F & B). ÐамеÑÑÑе, ÑÑо Ñ Ð¾ÑÑ ÐºÐ°Ð¶Ð´Ð¾Ðµ ÑообÑение вклÑÑÐ°ÐµÑ ÑÑÑÑÑик Ð±Ð°Ð¹Ñ Ð² наÑале, болÑÑинÑÑво ÑообÑений опÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ñак, ÑÑÐ¾Ð±Ñ ÐºÐ¾Ð½ÐµÑ ÑообÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло найÑи, не обÑаÑаÑÑÑ Ðº ÑÑÑÑÑÐ¸ÐºÑ Ð±Ð°Ð¹Ñ. ÐÑо Ñделано по иÑÑоÑиÑеÑким пÑиÑинам, поÑколÑÐºÑ Ð² изнаÑалÑном ÑепеÑÑ ÑÑÑаÑевÑем пÑоÑоколе веÑÑии 2 не бÑло Ð¿Ð¾Ð»Ñ Ñ Ñвно опÑеделÑнной длиной. ÐÑо Ñакже Ð¿Ð¾Ð¼Ð¾Ð³Ð°ÐµÑ Ð¿ÑовеÑÑÑÑ ÐºÐ¾ÑÑекÑноÑÑÑ ÑообÑений.
- AuthenticationOk (B) #
- Byte1('R')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð°ÑÑенÑиÑикаÑии.
- Int32(8)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(0)
ÐоказÑваеÑ, ÑÑо пÑовеÑка подлинноÑÑи пÑоÑла ÑÑпеÑно.
- AuthenticationKerberosV5 (B) #
- Byte1('R')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð°ÑÑенÑиÑикаÑии.
- Int32(8)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(2)
УказÑваеÑ, ÑÑо ÑÑебÑеÑÑÑ Ð¿ÑовеÑка подлинноÑÑи по пÑоÑÐ¾ÐºÐ¾Ð»Ñ Kerberos V5.
- AuthenticationCleartextPassword (B) #
- Byte1('R')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð°ÑÑенÑиÑикаÑии.
- Int32(8)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(3)
УказÑваеÑ, ÑÑо ÑÑебÑеÑÑÑ Ð¿Ð°ÑолÑ, пеÑедаваемÑй оÑкÑÑÑÑм ÑекÑÑом.
- AuthenticationMD5Password (B) #
- Byte1('R')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð°ÑÑенÑиÑикаÑии.
- Int32(12)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(5)
УказÑваеÑ, ÑÑо ÑÑебÑеÑÑÑ Ð¿Ð°ÑолÑ, пÑеобÑазованнÑй в Ñ ÐµÑ MD5.
- Byte4
ÐнаÑение Ñоли, Ñ ÐºÐ¾ÑоÑÑм должен Ñ ÐµÑиÑоваÑÑÑÑ Ð¿Ð°ÑолÑ.
- AuthenticationGSS (B) #
- Byte1('R')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð°ÑÑенÑиÑикаÑии.
- Int32(8)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(7)
УказÑваеÑ, ÑÑо ÑÑебÑеÑÑÑ Ð¿ÑовеÑка подлинноÑÑи на базе GSSAPI.
- AuthenticationGSSContinue (B) #
- Byte1('R')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð°ÑÑенÑиÑикаÑии.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(8)
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение ÑодеÑÐ¶Ð¸Ñ Ð´Ð°Ð½Ð½Ñе GSSAPI или SSPI.
- Byte
n ÐаннÑе аÑÑенÑиÑикаÑии Ð´Ð»Ñ GSSAPI или SSPI.
- AuthenticationSSPI (B) #
- Byte1('R')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð°ÑÑенÑиÑикаÑии.
- Int32(8)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(9)
УказÑваеÑ, ÑÑо ÑÑебÑеÑÑÑ Ð¿ÑовеÑка подлинноÑÑи на базе SSPI.
- AuthenticationSASL (B) #
- Byte1('R')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð°ÑÑенÑиÑикаÑии.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(10)
УказÑваеÑ, ÑÑо ÑÑебÑеÑÑÑ Ð¿ÑовеÑка подлинноÑÑи на базе SASL.
Тело ÑообÑÐµÐ½Ð¸Ñ ÑодеÑÐ¶Ð¸Ñ ÑпиÑок Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð¾Ð² аÑÑенÑиÑикаÑии SASL в поÑÑдке пÑедпоÑÑений ÑеÑвеÑа. Ðа поÑледним именем Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° аÑÑенÑиÑикаÑии должен идÑи завеÑÑаÑÑий нÑлевой байÑ. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° пеÑедаÑÑÑÑ:
- String
ÐÐ¼Ñ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° аÑÑенÑиÑикаÑии SASL.
- AuthenticationSASLContinue (B) #
- Byte1('R')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð°ÑÑенÑиÑикаÑии.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(11)
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение ÑодеÑÐ¶Ð¸Ñ Ð´Ð°Ð½Ð½Ñе вÑзова SASL.
- Byte
n ÐаннÑе SASL, ÑпеÑиÑиÑнÑе Ð´Ð»Ñ Ð¿ÑименÑемого Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° SASL.
- AuthenticationSASLFinal (B) #
- Byte1('R')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð°ÑÑенÑиÑикаÑии.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(12)
УказÑваеÑ, ÑÑо аÑÑенÑиÑикаÑÐ¸Ñ SASL завеÑÑена.
- Byte
n «ÐополниÑелÑнÑе даннÑе» ÑезÑлÑÑаÑа SASL, ÑпеÑиÑиÑнÑе Ð´Ð»Ñ Ð¿ÑименÑемого Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° SASL.
- BackendKeyData (B) #
- Byte1('K')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение ÑодеÑÐ¶Ð¸Ñ ÐºÐ»ÑÑевÑе даннÑе Ð´Ð»Ñ Ð¾ÑÐ¼ÐµÐ½Ñ Ð·Ð°Ð¿ÑоÑов. ÐÐ»Ð¸ÐµÐ½Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑÐ¾Ñ ÑаниÑÑ ÑÑи даннÑе, еÑли ÐµÐ¼Ñ Ð½Ñжна возможноÑÑÑ Ð²Ð¿Ð¾ÑледÑÑвии вÑдаваÑÑ ÑообÑÐµÐ½Ð¸Ñ CancelRequest.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32
PID обÑлÑживаÑÑего пÑоÑеÑÑа.
- Byte
n СекÑеÑнÑй клÑÑ Ð¾Ð±ÑлÑживаÑÑего пÑоÑеÑÑа. ÐÑо поле завеÑÑаеÑÑÑ Ð² конÑе ÑообÑениÑ, опÑеделÑнном полем длинÑ.
ÐинималÑÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° клÑÑа ÑоÑÑавлÑÐµÑ 4 байÑа, а макÑималÑÐ½Ð°Ñ â 256 байÑ. СейÑÐ°Ñ ÑеÑÐ²ÐµÑ Postgres Pro пеÑедаÑÑ ÑолÑко клÑÑи длиной до 32 байÑ, но ÑвелиÑÐµÐ½Ð½Ð°Ñ Ð¼Ð°ÐºÑималÑÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° позволÑÐµÑ Ð±ÑдÑÑим веÑÑиÑм ÑеÑвеÑа, а Ñакже пÑлам Ñоединений и дÑÑгим компоненÑам ÑÑеднего ÑÐ»Ð¾Ñ Ð¸ÑполÑзоваÑÑ Ð±Ð¾Ð»ÐµÐµ длиннÑе клÑÑи. Ðдин из возможнÑÑ Ð²Ð°ÑианÑов иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ â добавление в клÑÑ ÑеÑвеÑа дополниÑелÑной инÑоÑмаÑии. Ðо ÑÑой пÑиÑине не ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ Ð² ÑÑеднем Ñлое клÑÑи Ñ Ð¼Ð°ÐºÑималÑной длиной на ÑлÑÑай, еÑли дÑÑг на дÑÑга наложиÑÑÑ Ð½ÐµÑколÑко пÑиложений ÑÑеднего ÑлоÑ, в каждом из коÑоÑÑÑ Ð±ÑдÑÑ ÐºÐ»ÑÑи Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑной инÑоÑмаÑией.
Ðо пÑоÑокола веÑÑии 3.2 вÑегда иÑполÑзовалÑÑ ÑекÑеÑнÑй клÑÑ Ð´Ð»Ð¸Ð½Ð¾Ð¹ 4 байÑа.
- Bind (F) #
- Byte1('B')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Bind.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- String
ÐÐ¼Ñ Ñелевого поÑÑала (пÑÑÑÐ°Ñ ÑÑÑока вÑбиÑÐ°ÐµÑ Ð±ÐµÐ·ÑмÑннÑй поÑÑал).
- String
ÐÐ¼Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ подгоÑовленного опеÑаÑоÑа (пÑÑÑÐ°Ñ ÑÑÑока вÑбиÑÐ°ÐµÑ Ð±ÐµÐ·ÑмÑннÑй подгоÑовленнÑй опеÑаÑоÑ).
- Int16
ÐолиÑеÑÑво кодов ÑоÑмаÑов ÑледÑÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов (обознаÑаеÑÑÑ Ð½Ð¸Ð¶Ðµ Ñимволом
C). ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÑлевÑм, ÑÑо показÑваеÑ, ÑÑо паÑамеÑÑÑ Ð¾ÑÑÑÑÑÑвÑÑÑ Ð¸Ð»Ð¸ вÑе паÑамеÑÑÑ Ð¿ÐµÑедаÑÑÑÑ Ð² ÑоÑмаÑе по ÑмолÑÐ°Ð½Ð¸Ñ (ÑекÑÑовом); либо ÑавнÑÑÑÑÑ Ð¾Ð´Ð½Ð¾Ð¼Ñ, в ÑÑом ÑлÑÑае ÑказаннÑй один код ÑоÑмаÑа пÑименÑеÑÑÑ ÐºÐ¾ вÑем паÑамеÑÑам; либо Ð¼Ð¾Ð¶ÐµÑ ÑавнÑÑÑÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑÐ½Ð¾Ð¼Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑÐ²Ñ Ð¿Ð°ÑамеÑÑов.- Int16[
C] ÐÐ¾Ð´Ñ ÑоÑмаÑов паÑамеÑÑов. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð´Ð¾Ð¿ÑÑкаÑÑÑÑ ÐºÐ¾Ð´Ñ Ð½Ð¾Ð»Ñ (ÑекÑÑовÑй ÑоÑмаÑ) и один (двоиÑнÑй).
- Int16
ÐолиÑеÑÑво ÑледÑÑÑÐ¸Ñ Ð·Ð½Ð°Ñений паÑамеÑÑов (Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÑлевÑм). Ðно должно ÑовпадаÑÑ Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑвом паÑамеÑÑов, ÑÑебÑÑÑÐ¸Ñ ÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑа.
ÐаÑем Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ паÑамеÑÑа идÑÑ ÑледÑÑÑÐ°Ñ Ð¿Ð°Ñа полей:
- Int32
Ðлина знаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑа, в байÑÐ°Ñ (Ñамо поле Ð´Ð»Ð¸Ð½Ñ Ð½Ðµ ÑÑиÑаеÑÑÑ). ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ñлевой. РкаÑеÑÑве оÑобого знаÑениÑ, -1 пÑедÑÑавлÑÐµÑ Ð·Ð½Ð°Ñение NULL. Ð ÑлÑÑае Ñ NULL никакие байÑÑ Ð·Ð½Ð°Ñений далее не ÑледÑÑÑ.
- Byte
n ÐнаÑение паÑамеÑÑа в ÑоÑмаÑе, опÑеделÑнном ÑооÑвеÑÑÑвÑÑÑим кодом ÑоÑмаÑа. ÐеÑеменнаÑ
nзадаÑÑ Ð´Ð»Ð¸Ð½Ñ Ð·Ð½Ð°ÑениÑ.
Ðа поÑледним паÑамеÑÑом идÑÑ ÑледÑÑÑее поле:
- Int16
ÐолиÑеÑÑво кодов ÑоÑмаÑа Ð´Ð»Ñ ÑледÑÑÑÐ¸Ñ ÑÑолбÑов ÑезÑлÑÑаÑа (обознаÑаеÑÑÑ Ð½Ð¸Ð¶Ðµ Ñимволом
R). ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÑлевÑм, ÑÑо показÑваеÑ, ÑÑо ÑÑолбÑÑ ÑезÑлÑÑаÑа оÑÑÑÑÑÑвÑÑÑ Ð¸Ð»Ð¸ Ð´Ð»Ñ Ð²ÑÐµÑ ÑÑолбÑов должен иÑполÑзоваÑÑÑÑ ÑоÑÐ¼Ð°Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ (ÑекÑÑовÑй), либо ÑавнÑÑÑÑÑ Ð¾Ð´Ð½Ð¾Ð¼Ñ, в ÑÑом ÑлÑÑае ÑказаннÑй один код ÑоÑмаÑа пÑименÑеÑÑÑ ÐºÐ¾ вÑем ÑÑолбÑам (еÑли они еÑÑÑ), либо Ð¼Ð¾Ð¶ÐµÑ ÑавнÑÑÑÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑÐ½Ð¾Ð¼Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑÐ²Ñ ÑÑолбÑов ÑезÑлÑÑаÑа запÑоÑа.- Int16[
R] ÐÐ¾Ð´Ñ ÑоÑмаÑов ÑÑолбÑов ÑезÑлÑÑаÑа. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð´Ð¾Ð¿ÑÑкаÑÑÑÑ ÐºÐ¾Ð´Ñ Ð½Ð¾Ð»Ñ (ÑекÑÑовÑй ÑоÑмаÑ) и один (двоиÑнÑй).
- BindComplete (B) #
- Byte1('2')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение, ÑигнализиÑÑÑÑее о завеÑÑении Bind.
- Int32(4)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- CancelRequest (F) #
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(80877102)
Ðод запÑоÑа оÑменÑ. ÐÑо ÑпеÑиалÑно вÑбÑанное знаÑение ÑодеÑжиÑ
1234в ÑÑаÑÑÐ¸Ñ 16 биÑÐ°Ñ Ð¸5678в младÑÐ¸Ñ 16 биÑÐ°Ñ . (Ðо избежание неоднознаÑноÑÑи ÑÑÐ¾Ñ ÐºÐ¾Ð´ не должен ÑовпадаÑÑ Ñ Ð½Ð¾Ð¼ÐµÑом веÑÑии пÑоÑокола.)- Int32
PID Ñелевого обÑлÑживаÑÑего пÑоÑеÑÑа.
- Byte
n СекÑеÑнÑй клÑÑ Ð´Ð»Ñ Ñелевого обÑлÑживаÑÑего пÑоÑеÑÑа. ÐÑо поле завеÑÑаеÑÑÑ Ð² конÑе ÑообÑениÑ, опÑеделÑнном полем длинÑ. ÐакÑималÑÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° клÑÑа â 256 байÑ.
Ðо пÑоÑокола веÑÑии 3.2 вÑегда иÑполÑзовалÑÑ ÑекÑеÑнÑй клÑÑ Ð´Ð»Ð¸Ð½Ð¾Ð¹ 4 байÑа.
- Close (F) #
- Byte1('C')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Close.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Byte1
'
S' Ð´Ð»Ñ Ð·Ð°ÐºÑÑÑÐ¸Ñ Ð¿Ð¾Ð´Ð³Ð¾Ñовленного опеÑаÑоÑа, 'P' Ð´Ð»Ñ Ð·Ð°ÐºÑÑÑÐ¸Ñ Ð¿Ð¾ÑÑала.- String
ÐÐ¼Ñ Ð¿Ð¾Ð´Ð³Ð¾Ñовленного опеÑаÑоÑа или поÑÑала, коÑоÑÑй должен бÑÑÑ Ð·Ð°ÐºÑÑÑ (пÑÑÑÐ°Ñ ÑÑÑока вÑбиÑÐ°ÐµÑ Ð±ÐµÐ·ÑмÑннÑй подгоÑовленнÑй опеÑаÑÐ¾Ñ Ð¸Ð»Ð¸ поÑÑал).
- CloseComplete (B) #
- Byte1('3')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение, ÑигнализиÑÑÑÑее о завеÑÑении Close.
- Int32(4)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- CommandComplete (B) #
- Byte1('C')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение об ÑÑпеÑном завеÑÑении командÑ.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- String
Тег командÑ. ÐбÑÑно ÑÑо одно Ñлово, обознаÑаÑÑее завеÑÑÑннÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SQL.
ÐÐ»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
INSERTв каÑеÑÑве Ñега пеÑедаÑÑÑÑINSERT, гдеoidÑиÑло_ÑÑÑокÑиÑло_ÑÑÑокâ колиÑеÑÑво вÑÑавленнÑÑ ÑÑÑок. РполеoidпеÑедавалÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ Ð¾Ð±ÑекÑа вÑÑавленной ÑÑÑоки, когдаÑиÑло_ÑÑÑокбÑло Ñавно 1 и в Ñелевой ÑаблиÑе ÑодеÑжалиÑÑ OID; Ñаким обÑазом, ÑейÑаÑoidвÑегда ÑавнÑеÑÑÑ 0.ÐÐ»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
DELETEв каÑеÑÑве Ñега пеÑедаÑÑÑÑDELETE, гдеÑиÑло_ÑÑÑокÑиÑло_ÑÑÑокâ колиÑеÑÑво ÑдалÑннÑÑ ÑÑÑок.ÐÐ»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
UPDATEв каÑеÑÑве Ñега пеÑедаÑÑÑÑUPDATE, гдеÑиÑло_ÑÑÑокÑиÑло_ÑÑÑокâ колиÑеÑÑво изменÑннÑÑ ÑÑÑок.ÐÐ»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
MERGEв каÑеÑÑве Ñега пеÑедаÑÑÑÑMERGE, гдеÑиÑло_ÑÑÑокÑиÑло_ÑÑÑокâ колиÑеÑÑво вÑÑавленнÑÑ , изменÑннÑÑ Ð¸Ð»Ð¸ ÑдалÑннÑÑ ÑÑÑок.ÐÐ»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
SELECTилиCREATE TABLE ASв каÑеÑÑве Ñега пеÑедаÑÑÑÑSELECT, гдеÑиÑло_ÑÑÑокÑиÑло_ÑÑÑокâ ÑиÑло полÑÑеннÑÑ ÑÑÑок.ÐÐ»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
MOVEв каÑеÑÑве Ñега пеÑедаÑÑÑÑMOVE, гдеÑиÑло_ÑÑÑокÑиÑло_ÑÑÑокâ колиÑеÑÑво ÑÑÑок, на коÑоÑое изменилаÑÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ ÐºÑÑÑоÑа.ÐÐ»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
FETCHв каÑеÑÑве Ñега пеÑедаÑÑÑÑFETCH, гдеÑиÑло_ÑÑÑокÑиÑло_ÑÑÑокâ колиÑеÑÑво ÑÑÑок, полÑÑенное ÑеÑез кÑÑÑоÑ.ÐÐ»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
COPYв каÑеÑÑве Ñега пеÑедаÑÑÑÑCOPY, гдеÑиÑло_ÑÑÑокÑиÑло_ÑÑÑокâ колиÑеÑÑво ÑкопиÑованнÑÑ ÑÑÑок. (ÐамеÑÑÑе: ÑиÑло ÑÑÑок вÑводиÑÑÑ, наÑÐ¸Ð½Ð°Ñ ÑолÑко Ñ PostgreSQL 8.2.)
- CopyData (F & B) #
- Byte1('d')
УказÑваеÑ, ÑÑо в ÑÑом ÑообÑении пеÑедаÑÑÑÑ Ð´Ð°Ð½Ð½Ñе
COPY.- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Byte
n ÐаннÑе, обÑазÑÑÑие ÑаÑÑÑ Ð¸Ð½ÑоÑмаÑионного поÑока
COPY. СообÑÐµÐ½Ð¸Ñ Ð¾Ñ ÑеÑвеÑа вÑегда ÑооÑвеÑÑÑвÑÑÑ Ð¾ÑделÑнÑм ÑÑÑокам даннÑÑ , но ÑообÑениÑ, пеÑедаваемÑе клиенÑами, могÑÑ ÑазделÑÑÑ Ð¿Ð¾Ñок пÑоизволÑнÑм обÑазом.
- CopyDone (F & B) #
- Byte1('c')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение, ÑигнализиÑÑÑÑее о завеÑÑении
COPY.- Int32(4)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- CopyFail (F) #
- Byte1('f')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение, ÑигнализиÑÑÑÑее об оÑибке опеÑаÑии
COPY.- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- String
СообÑение об оÑибке, опиÑÑваÑÑее пÑиÑÐ¸Ð½Ñ ÑÐ±Ð¾Ñ Ð¾Ð¿ÐµÑаÑии.
- CopyInResponse (B) #
- Byte1('G')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение ÑвлÑеÑÑÑ Ð¾ÑвеÑом на запÑÑк Ð²Ñ Ð¾Ð´ÑÑего копиÑованиÑ. ÐолÑÑив его, ÐºÐ»Ð¸ÐµÐ½Ñ Ð½Ð°ÑÐ¸Ð½Ð°ÐµÑ Ð¿ÐµÑедаваÑÑ Ð´Ð°Ð½Ð½Ñе на Ð²Ñ Ð¾Ð´ опеÑаÑии копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (еÑли ÐºÐ»Ð¸ÐµÐ½Ñ Ð½Ðµ гоÑов к ÑÑомÑ, он пеÑедаÑÑ ÑообÑение CopyFail).
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int8
ÐнаÑение 0 ÑказÑваеÑ, ÑÑо Ð´Ð»Ñ Ð²Ñей опеÑаÑии
COPYпÑименÑеÑÑÑ ÑекÑÑовÑй ÑоÑÐ¼Ð°Ñ (ÑÑÑоки ÑазделÑÑÑÑÑ Ñимволами новой ÑÑÑоки, ÑÑолбÑÑ ÑазделÑÑÑÑÑ Ñимволами-ÑазделиÑелÑми и Ñ. д.). ÐнаÑение 1 ÑказÑваеÑ, ÑÑо Ð´Ð»Ñ Ð²Ñей опеÑаÑии копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑименÑеÑÑÑ Ð´Ð²Ð¾Ð¸ÑнÑй ÑоÑÐ¼Ð°Ñ (подобнÑй ÑоÑмаÑÑ DataRow). Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº COPY.- Int16
ÐолиÑеÑÑво ÑÑолбÑов в копиÑÑемÑÑ Ð´Ð°Ð½Ð½ÑÑ (ниже обознаÑаеÑÑÑ Ñимволом
N).- Int16[
N] ÐÐ¾Ð´Ñ ÑоÑмаÑа Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÑолбÑа. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð´Ð¾Ð¿ÑÑкаÑÑÑÑ ÐºÐ¾Ð´Ñ Ð½Ð¾Ð»Ñ (ÑекÑÑовÑй ÑоÑмаÑ) и один (двоиÑнÑй). ÐÑли обÑий ÑоÑÐ¼Ð°Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ â ÑекÑÑовÑй, вÑе ÑÑи ÐºÐ¾Ð´Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð½ÑлевÑми.
- CopyOutResponse (B) #
- Byte1('H')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение ÑвлÑеÑÑÑ Ð¾ÑвеÑом на запÑÑк иÑÑ Ð¾Ð´ÑÑего копиÑованиÑ. Ðа ÑÑим ÑообÑением ÑледÑÑÑ Ð´Ð°Ð½Ð½Ñе, иÑÑ Ð¾Ð´ÑÑие Ñо ÑÑоÑÐ¾Ð½Ñ ÑеÑвеÑа.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int8
ÐнаÑение 0 ÑказÑваеÑ, ÑÑо Ð´Ð»Ñ Ð²Ñей опеÑаÑии
COPYпÑименÑеÑÑÑ ÑекÑÑовÑй ÑоÑÐ¼Ð°Ñ (ÑÑÑоки ÑазделÑÑÑÑÑ Ñимволами новой ÑÑÑоки, ÑÑолбÑÑ ÑазделÑÑÑÑÑ Ñимволами-ÑазделиÑелÑми и Ñ. д.). ÐнаÑение 1 ÑказÑваеÑ, ÑÑо Ð´Ð»Ñ Ð²Ñей опеÑаÑии копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑименÑеÑÑÑ Ð´Ð²Ð¾Ð¸ÑнÑй ÑоÑÐ¼Ð°Ñ (подобнÑй ÑоÑмаÑÑ DataRow). Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº COPY.- Int16
ÐолиÑеÑÑво ÑÑолбÑов в копиÑÑемÑÑ Ð´Ð°Ð½Ð½ÑÑ (ниже обознаÑаеÑÑÑ Ñимволом
N).- Int16[
N] ÐÐ¾Ð´Ñ ÑоÑмаÑа Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÑолбÑа. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð´Ð¾Ð¿ÑÑкаÑÑÑÑ ÐºÐ¾Ð´Ñ Ð½Ð¾Ð»Ñ (ÑекÑÑовÑй ÑоÑмаÑ) и один (двоиÑнÑй). ÐÑли обÑий ÑоÑÐ¼Ð°Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ â ÑекÑÑовÑй, вÑе ÑÑи ÐºÐ¾Ð´Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð½ÑлевÑми.
- CopyBothResponse (B) #
- Byte1('W')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение ÑвлÑеÑÑÑ Ð¾ÑвеÑом на запÑÑк двÑÑÑоÑоннего копиÑованиÑ. ÐÑо ÑообÑение иÑполÑзÑеÑÑÑ ÑолÑко Ð´Ð»Ñ Ð¿Ð¾Ñоковой ÑепликаÑии.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int8
ÐнаÑение 0 ÑказÑваеÑ, ÑÑо Ð´Ð»Ñ Ð²Ñей опеÑаÑии
COPYпÑименÑеÑÑÑ ÑекÑÑовÑй ÑоÑÐ¼Ð°Ñ (ÑÑÑоки ÑазделÑÑÑÑÑ Ñимволами новой ÑÑÑоки, ÑÑолбÑÑ ÑазделÑÑÑÑÑ Ñимволами-ÑазделиÑелÑми и Ñ. д.). ÐнаÑение 1 ÑказÑваеÑ, ÑÑо Ð´Ð»Ñ Ð²Ñей опеÑаÑии копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑименÑеÑÑÑ Ð´Ð²Ð¾Ð¸ÑнÑй ÑоÑÐ¼Ð°Ñ (подобнÑй ÑоÑмаÑÑ DataRow). Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº COPY.- Int16
ÐолиÑеÑÑво ÑÑолбÑов в копиÑÑемÑÑ Ð´Ð°Ð½Ð½ÑÑ (ниже обознаÑаеÑÑÑ Ñимволом
N).- Int16[
N] ÐÐ¾Ð´Ñ ÑоÑмаÑа Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÑолбÑа. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð´Ð¾Ð¿ÑÑкаÑÑÑÑ ÐºÐ¾Ð´Ñ Ð½Ð¾Ð»Ñ (ÑекÑÑовÑй ÑоÑмаÑ) и один (двоиÑнÑй). ÐÑли обÑий ÑоÑÐ¼Ð°Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ â ÑекÑÑовÑй, вÑе ÑÑи ÐºÐ¾Ð´Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð½ÑлевÑми.
- DataRow (B) #
- Byte1('D')
УказÑваеÑ, ÑÑо в ÑÑом ÑообÑении пеÑедаÑÑÑÑ ÑÑÑока даннÑÑ .
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int16
ÐолиÑеÑÑво поÑледÑÑÑÐ¸Ñ Ð·Ð½Ð°Ñений ÑÑолбÑов (Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÑлевÑм).
ÐаÑем Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑÑолбÑа идÑÑ ÑледÑÑÑÐ°Ñ Ð¿Ð°Ñа полей:
- Int32
Ðлина знаÑÐµÐ½Ð¸Ñ ÑÑолбÑа, в байÑÐ°Ñ (Ñамо поле Ð´Ð»Ð¸Ð½Ñ Ð½Ðµ ÑÑиÑаеÑÑÑ). ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ñлевой. РкаÑеÑÑве оÑобого знаÑениÑ, -1 пÑедÑÑавлÑÐµÑ Ð·Ð½Ð°Ñение NULL. Ð ÑлÑÑае Ñ NULL никакие байÑÑ Ð·Ð½Ð°Ñений далее не ÑледÑÑÑ.
- Byte
n ÐнаÑение ÑÑолбÑа в ÑоÑмаÑе, опÑеделÑнном ÑооÑвеÑÑÑвÑÑÑим кодом ÑоÑмаÑа. ÐеÑеменнаÑ
nзадаÑÑ Ð´Ð»Ð¸Ð½Ñ Ð·Ð½Ð°ÑениÑ.
- Describe (F) #
- Byte1('D')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Describe.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Byte1
'
S' Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¾Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð´Ð³Ð¾Ñовленного опеÑаÑоÑа, 'P' â поÑÑала.- String
ÐÐ¼Ñ Ð¿Ð¾Ð´Ð³Ð¾Ñовленного опеÑаÑоÑа или поÑÑала, опиÑание коÑоÑого запÑаÑиваеÑÑÑ (пÑÑÑÐ°Ñ ÑÑÑока вÑбиÑÐ°ÐµÑ Ð±ÐµÐ·ÑмÑннÑй подгоÑовленнÑй опеÑаÑÐ¾Ñ Ð¸Ð»Ð¸ поÑÑал).
- EmptyQueryResponse (B) #
- Byte1('I')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение ÑвлÑеÑÑÑ Ð¾ÑвеÑом на пÑÑÑÑÑ ÑÑÑÐ¾ÐºÑ Ð·Ð°Ð¿ÑоÑа. (ÐÑо ÑообÑение заменÑÐµÑ CommandComplete.)
- Int32(4)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- ErrorResponse (B) #
- Byte1('E')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение оÑибки.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
Тело ÑообÑÐµÐ½Ð¸Ñ ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· одного или неÑколÑÐºÐ¸Ñ Ð¾Ð¿ÑеделÑннÑÑ Ð¿Ð¾Ð»ÐµÐ¹, за коÑоÑÑми в каÑеÑÑве завеÑÑаÑÑего ÑледÑÐµÑ Ð½Ñлевой байÑ. ÐÐ¾Ð»Ñ Ð¼Ð¾Ð³ÑÑ Ð¸Ð´Ñи в лÑбом поÑÑдке. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ Ð¿ÐµÑедаÑÑÑÑ:
- Byte1
Ðод, задаÑÑий Ñип полÑ; Ð½Ð¾Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°ÑÐ°ÐµÑ ÐºÐ¾Ð½ÐµÑ ÑообÑениÑ, поÑле коÑоÑого ниÑего неÑ. Ð¢Ð¸Ð¿Ñ Ð¿Ð¾Ð»ÐµÐ¹, опÑеделÑннÑе в наÑÑоÑÑее вÑемÑ, пеÑеÑиÑÐ»ÐµÐ½Ñ Ð² Разделе 54.8. Так как в бÑдÑÑем могÑÑ Ð¿Ð¾ÑвиÑÑÑÑ Ð´ÑÑгие ÑÐ¸Ð¿Ñ Ð¿Ð¾Ð»ÐµÐ¹, клиенÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿ÑоÑÑо игноÑиÑоваÑÑ Ð¿Ð¾Ð»Ñ Ð½ÐµÑаÑпознанного Ñипа.
- String
ÐнаÑение полÑ.
- Execute (F) #
- Byte1('E')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Execute.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- String
ÐÐ¼Ñ Ð¿Ð¾ÑÑала, подлежаÑего вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ (пÑÑÑÐ°Ñ ÑÑÑока вÑбиÑÐ°ÐµÑ Ð±ÐµÐ·ÑмÑннÑй поÑÑал).
- Int32
ÐакÑималÑное ÑиÑло ÑÑÑок, коÑоÑое должно бÑÑÑ Ð²Ð¾Ð·Ð²ÑаÑено, еÑли поÑÑал ÑодеÑÐ¶Ð¸Ñ Ð·Ð°Ð¿ÑоÑ, возвÑаÑаÑÑий ÑÑÑоки (в пÑоÑивном ÑлÑÑае игноÑиÑÑеÑÑÑ). ÐÐ¾Ð»Ñ Ð¾Ð·Ð½Ð°ÑÐ°ÐµÑ Â«Ð±ÐµÐ· огÑаниÑениÑ».
- Flush (F) #
- Byte1('H')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Flush.
- Int32(4)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- FunctionCall (F) #
- Byte1('F')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð²Ñзов ÑÑнкÑии.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32
ÐадаÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ Ð¾Ð±ÑекÑа вÑзÑваемой ÑÑнкÑии.
- Int16
ÐолиÑеÑÑво кодов ÑоÑмаÑов ÑледÑÑÑÐ¸Ñ Ð°ÑгÑменÑов (обознаÑаеÑÑÑ Ð½Ð¸Ð¶Ðµ Ñимволом
C). ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÑлевÑм, ÑÑо показÑваеÑ, ÑÑо аÑгÑменÑÑ Ð¾ÑÑÑÑÑÑвÑÑÑ Ð¸Ð»Ð¸ вÑе аÑгÑменÑÑ Ð¿ÐµÑедаÑÑÑÑ Ð² ÑоÑмаÑе по ÑмолÑÐ°Ð½Ð¸Ñ (ÑекÑÑовом); либо ÑавнÑÑÑÑÑ Ð¾Ð´Ð½Ð¾Ð¼Ñ, в ÑÑом ÑлÑÑае ÑказаннÑй один код ÑоÑмаÑа пÑименÑеÑÑÑ ÐºÐ¾ вÑем аÑгÑменÑами, либо Ð¼Ð¾Ð¶ÐµÑ ÑавнÑÑÑÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑÐ½Ð¾Ð¼Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑÐ²Ñ Ð°ÑгÑменÑов.- Int16[
C] ÐÐ¾Ð´Ñ ÑоÑмаÑов аÑгÑменÑов. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð´Ð¾Ð¿ÑÑкаÑÑÑÑ ÐºÐ¾Ð´Ñ Ð½Ð¾Ð»Ñ (ÑекÑÑовÑй ÑоÑмаÑ) и один (двоиÑнÑй).
- Int16
ÐадаÑÑ ÑиÑло аÑгÑменÑов, пеÑедаваемÑÑ ÑÑнкÑии.
ÐаÑем Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ аÑгÑменÑа идÑÑ ÑледÑÑÑÐ°Ñ Ð¿Ð°Ñа полей:
- Int32
Ðлина знаÑÐµÐ½Ð¸Ñ Ð°ÑгÑменÑа, в байÑÐ°Ñ (Ñамо поле Ð´Ð»Ð¸Ð½Ñ Ð½Ðµ ÑÑиÑаеÑÑÑ). ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ñлевой. РкаÑеÑÑве оÑобого знаÑениÑ, -1 пÑедÑÑавлÑÐµÑ Ð·Ð½Ð°Ñение NULL. Ð ÑлÑÑае Ñ NULL никакие байÑÑ Ð·Ð½Ð°Ñений далее не ÑледÑÑÑ.
- Byte
n ÐнаÑение аÑгÑменÑа, в ÑоÑмаÑе, опÑеделÑнном ÑооÑвеÑÑÑвÑÑÑим кодом ÑоÑмаÑа. ÐеÑеменнаÑ
nзадаÑÑ Ð´Ð»Ð¸Ð½Ñ Ð·Ð½Ð°ÑениÑ.
Ðа поÑледним аÑгÑменÑом идÑÑ ÑледÑÑÑее поле:
- Int16
Ðод ÑоÑмаÑа ÑезÑлÑÑаÑа ÑÑнкÑии. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð´Ð¾Ð¿ÑÑкаеÑÑÑ ÐºÐ¾Ð´ Ð½Ð¾Ð»Ñ (ÑекÑÑовÑй ÑоÑмаÑ) и один (двоиÑнÑй).
- FunctionCallResponse (B) #
- Byte1('V')
УказÑваеÑ, ÑÑо в ÑÑом ÑообÑении пеÑедаÑÑÑÑ ÑезÑлÑÑÐ°Ñ Ð²Ñзова ÑÑнкÑии.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32
Ðлина знаÑÐµÐ½Ð¸Ñ ÑезÑлÑÑаÑа ÑÑнкÑии, в байÑÐ°Ñ (Ñамо поле Ð´Ð»Ð¸Ð½Ñ Ð½Ðµ ÑÑиÑаеÑÑÑ). ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ñлевой. РкаÑеÑÑве оÑобого знаÑениÑ, -1 пÑедÑÑавлÑÐµÑ Ð·Ð½Ð°Ñение NULL. Ð ÑлÑÑае Ñ NULL никакие байÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð°Ð»ÐµÐµ не ÑледÑÑÑ.
- Byte
n ÐнаÑение ÑезÑлÑÑаÑа ÑÑнкÑии в ÑоÑмаÑе, опÑеделÑнном ÑооÑвеÑÑÑвÑÑÑим кодом ÑоÑмаÑа. ÐеÑеменнаÑ
nзадаÑÑ Ð´Ð»Ð¸Ð½Ñ Ð·Ð½Ð°ÑениÑ.
- GSSENCRequest (F) #
- Int32(8)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(80877104)
Ðод запÑоÑа GSSAPI Encryption. ÐÑо ÑпеÑиалÑно вÑбÑанное знаÑение ÑодеÑжиÑ
1234в ÑÑаÑÑÐ¸Ñ 16 биÑÐ°Ñ Ð¸5680в младÑÐ¸Ñ 16 биÑÐ°Ñ . (Ðо избежание неоднознаÑноÑÑи ÑÑÐ¾Ñ ÐºÐ¾Ð´ не должен ÑовпадаÑÑ Ñ Ð½Ð¾Ð¼ÐµÑом веÑÑии пÑоÑокола.)
- GSSResponse (F) #
- Byte1('p')
ÐбознаÑÐ°ÐµÑ ÑÑо ÑообÑение как оÑÐ²ÐµÑ GSSAPI или SSPI. ÐамеÑÑÑе, ÑÑо оно Ñакже пÑименÑеÑÑÑ Ð´Ð»Ñ Ð¾ÑвеÑов SASL и пÑи аÑÑенÑиÑикаÑии по паÑолÑ. ТоÑнÑй Ñип ÑообÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ опÑеделиÑÑ Ð¸Ð· конÑекÑÑа.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Byte
n ÐаннÑе ÑообÑениÑ, ÑпеÑиÑиÑнÑе Ð´Ð»Ñ GSSAPI/SSPI.
- NegotiateProtocolVersion (B) #
- Byte1('v')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение ÑоглаÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²ÐµÑÑии пÑоÑокола.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32
ÐовейÑÐ°Ñ Ð¼Ð»Ð°Ð´ÑÐ°Ñ Ð²ÐµÑÑÐ¸Ñ Ð¿ÑоÑокола, поддеÑÐ¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ ÑеÑвеÑом, Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑенной клиенÑом ÑÑаÑÑей веÑÑии.
- Int32
ЧиÑло паÑамеÑÑов пÑоÑокола, не пÑинÑÑÑÑ ÑеÑвеÑом.
ÐаÑем Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑов пÑоÑокола, не пÑинÑÑÑÑ ÑеÑвеÑом, пеÑедаÑÑÑÑ:
- String
ÐÐ¼Ñ Ð¿Ð°ÑамеÑÑа.
- NoData (B) #
- Byte1('n')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение ÑигнализиÑÑÐµÑ Ð¾Ð± оÑÑÑÑÑÑвии даннÑÑ .
- Int32(4)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- NoticeResponse (B) #
- Byte1('N')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð·Ð°Ð¼ÐµÑание.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
Тело ÑообÑÐµÐ½Ð¸Ñ ÑоÑÑÐ¾Ð¸Ñ Ð¸Ð· одного или неÑколÑÐºÐ¸Ñ Ð¾Ð¿ÑеделÑннÑÑ Ð¿Ð¾Ð»ÐµÐ¹, за коÑоÑÑми в каÑеÑÑве завеÑÑаÑÑего ÑледÑÐµÑ Ð½Ñлевой байÑ. ÐÐ¾Ð»Ñ Ð¼Ð¾Ð³ÑÑ Ð¸Ð´Ñи в лÑбом поÑÑдке. ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ Ð¿ÐµÑедаÑÑÑÑ:
- Byte1
Ðод, задаÑÑий Ñип полÑ; Ð½Ð¾Ð»Ñ Ð¾Ð±Ð¾Ð·Ð½Ð°ÑÐ°ÐµÑ ÐºÐ¾Ð½ÐµÑ ÑообÑениÑ, поÑле коÑоÑого ниÑего неÑ. Ð¢Ð¸Ð¿Ñ Ð¿Ð¾Ð»ÐµÐ¹, опÑеделÑннÑе в наÑÑоÑÑее вÑемÑ, пеÑеÑиÑÐ»ÐµÐ½Ñ Ð² Разделе 54.8. Так как в бÑдÑÑем могÑÑ Ð¿Ð¾ÑвиÑÑÑÑ Ð´ÑÑгие ÑÐ¸Ð¿Ñ Ð¿Ð¾Ð»ÐµÐ¹, клиенÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿ÑоÑÑо игноÑиÑоваÑÑ Ð¿Ð¾Ð»Ñ Ð½ÐµÑаÑпознанного Ñипа.
- String
ÐнаÑение полÑ.
- NotificationResponse (B) #
- Byte1('A')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ñведомление.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32
PID обÑлÑживаÑÑего пÑоÑеÑÑа, оÑпÑавлÑÑÑего Ñведомление.
- String
ÐÐ¼Ñ ÐºÐ°Ð½Ð°Ð»Ð°, Ð´Ð»Ñ ÐºÐ¾ÑоÑого бÑло вÑдано Ñведомление.
- String
СÑÑока «ÑообÑениÑ», ÑопÑовождаÑÑего Ñведомление.
- ParameterDescription (B) #
- Byte1('t')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð¾Ð¿Ð¸Ñание паÑамеÑÑа.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int16
ÐолиÑеÑÑво паÑамеÑÑов Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑоÑа (Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÑлевÑм).
ÐаÑем Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ паÑамеÑÑа пеÑедаÑÑÑÑ:
- Int32
ÐадаÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ Ð¾Ð±ÑекÑа Ñипа даннÑÑ Ð¿Ð°ÑамеÑÑа.
- ParameterStatus (B) #
- Byte1('S')
УказÑваеÑ, ÑÑо в ÑÑом ÑообÑении пеÑедаÑÑÑÑ ÑоÑÑоÑние паÑамеÑÑа вÑемени вÑполнениÑ.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- String
ÐÐ¼Ñ Ð¿Ð°ÑамеÑÑа вÑемени вÑполнениÑ, ÑоÑÑоÑние коÑоÑого пеÑедаÑÑÑÑ.
- String
ТекÑÑее знаÑение паÑамеÑÑа.
- Parse (F) #
- Byte1('P')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Parse.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- String
ÐÐ¼Ñ Ñелевого подгоÑовленного опеÑаÑоÑа (пÑÑÑÐ°Ñ ÑÑÑока вÑбиÑÐ°ÐµÑ Ð±ÐµÐ·ÑмÑннÑй подгоÑовленнÑй опеÑаÑоÑ).
- String
СÑÑока запÑоÑа, коÑоÑÐ°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° бÑÑÑ ÑазобÑана.
- Int16
ÐолиÑеÑÑво Ñипов паÑамеÑÑов (Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÑлевÑм). ÐамеÑÑÑе, ÑÑо ÑÑо знаÑение пÑедÑÑавлÑÐµÑ Ð½Ðµ ÑиÑло паÑамеÑÑов, коÑоÑÑе могÑÑ ÑигÑÑиÑоваÑÑ Ð² ÑÑÑоке запÑоÑа, а ÑиÑло паÑамеÑÑов, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ ÐºÐ»Ð¸ÐµÐ½Ñ Ñ Ð¾ÑÐµÑ Ð¿ÑедопÑеделиÑÑ ÑипÑ.
ÐаÑем Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ паÑамеÑÑа пеÑедаÑÑÑÑ:
- Int32
ÐадаÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ Ð¾Ð±ÑекÑа Ñипа даннÑÑ Ð¿Ð°ÑамеÑÑа. Указание нÑлевого знаÑÐµÐ½Ð¸Ñ ÑавноÑилÑно оÑÑÑÑÑÑÐ²Ð¸Ñ ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñипа.
- ParseComplete (B) #
- Byte1('1')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение, ÑигнализиÑÑÑÑее о завеÑÑении Parse.
- Int32(4)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- PasswordMessage (F) #
- Byte1('p')
ÐбознаÑÐ°ÐµÑ ÑÑо ÑообÑение как оÑÐ²ÐµÑ SASL. ÐамеÑÑÑе, ÑÑо оно Ñакже пÑименÑеÑÑÑ Ð´Ð»Ñ Ð¾ÑвеÑов GSSAPI, SSPI и SASL. ТоÑнÑй Ñип ÑообÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ опÑеделиÑÑ Ð¸Ð· конÑекÑÑа.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- String
ÐаÑÐ¾Ð»Ñ (заÑиÑÑованнÑй, еÑли ÑÑебÑеÑÑÑ).
- PortalSuspended (B) #
- Byte1('s')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение ÑигнализиÑÑÐµÑ Ð¾ пÑиоÑÑановке поÑÑала. ÐамеÑÑÑе, ÑÑо оно вÑдаÑÑÑÑ ÑолÑко пÑи доÑÑижении огÑаниÑÐµÐ½Ð¸Ñ ÑиÑла ÑÑÑок, заданного в ÑообÑении Execute.
- Int32(4)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Query (F) #
- Byte1('Q')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð¿ÑоÑÑой пÑоÑокол запÑоÑов.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- String
СобÑÑвенно ÑÑÑока запÑоÑа.
- ReadyForQuery (B) #
- Byte1('Z')
ÐпÑеделÑÐµÑ Ñип ÑообÑениÑ. СообÑение ReadyForQuery пеÑедаÑÑÑÑ, когда ÑеÑÐ²ÐµÑ Ð³Ð¾Ñов к Ð½Ð¾Ð²Ð¾Ð¼Ñ ÑÐ¸ÐºÐ»Ñ Ð·Ð°Ð¿ÑоÑов.
- Int32(5)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Byte1
ÐндикаÑÐ¾Ñ ÑекÑÑего ÑоÑÑоÑÐ½Ð¸Ñ ÑÑанзакÑии на ÑеÑвеÑе. ÐозможнÑе знаÑениÑ: '
I', ÑÑанзакÑÐ¸Ñ Ð½ÐµÐ°ÐºÑивна (вне блока ÑÑанзакÑии), 'T' в блоке ÑÑанзакÑии, либо 'E' в блоке пÑеÑванной ÑÑанзакÑии (запÑоÑÑ Ð½Ðµ бÑдÑÑ Ð¾Ð±ÑабаÑÑваÑÑÑÑ Ð´Ð¾ завеÑÑÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ°).
- RowDescription (B) #
- Byte1('T')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ Ð¾Ð¿Ð¸Ñание ÑÑÑоки.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int16
ÐадаÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво полей в ÑÑÑоке (Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÑлевÑм).
ÐаÑем Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ð¿Ð¾Ð»Ñ Ð¿ÐµÑедаÑÑÑÑ:
- String
ÐÐ¼Ñ Ð¿Ð¾Ð»Ñ.
- Int32
ÐÑли поле ÑвÑзано Ñо ÑÑолбÑом опÑеделÑнной ÑаблиÑÑ, иденÑиÑикаÑÐ¾Ñ Ð¾Ð±ÑекÑа ÑÑой ÑаблиÑÑ; в пÑоÑивном ÑлÑÑае â нолÑ.
- Int16
ÐÑли поле ÑвÑзано Ñо ÑÑолбÑом опÑеделÑнной ÑаблиÑÑ, Ð½Ð¾Ð¼ÐµÑ Ð°ÑÑибÑÑа Ð´Ð»Ñ ÑÑого ÑÑолбÑа; в пÑоÑивном ÑлÑÑае â нолÑ.
- Int32
ÐденÑиÑикаÑÐ¾Ñ Ð¾Ð±ÑекÑа Ñипа даннÑÑ Ð¿Ð¾Ð»Ñ.
- Int16
Ð Ð°Ð·Ð¼ÐµÑ Ñипа даннÑÑ (Ñм.
pg_type.typlen). ÐамеÑÑÑе, ÑÑо оÑÑиÑаÑелÑнÑе знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·ÑваÑÑ, ÑÑо Ñип Ð¸Ð¼ÐµÐµÑ Ð¿ÐµÑеменнÑÑ Ð´Ð»Ð¸Ð½Ñ.- Int32
ÐодиÑикаÑÐ¾Ñ Ñипа (Ñм.
pg_attribute.atttypmod). СмÑÑл ÑÑого модиÑикаÑоÑа завиÑÐ¸Ñ Ð¾Ñ Ñипа.- Int16
Ðод ÑоÑмаÑа, иÑполÑзÑемого Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð´Ð¾Ð¿ÑÑкаÑÑÑÑ ÐºÐ¾Ð´Ñ Ð½Ð¾Ð»Ñ (ÑекÑÑовÑй ÑоÑмаÑ) и один (двоиÑнÑй). Ð ÑообÑении RowDescription, возвÑаÑаемом ваÑиаÑией Describe Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑоÑа, код ÑоÑмаÑа еÑÑ Ð½Ðµ извеÑÑен и вÑегда бÑÐ´ÐµÑ Ð½ÑлевÑм.
- SASLInitialResponse (F) #
- Byte1('p')
ÐбознаÑÐ°ÐµÑ ÑÑо ÑообÑение как наÑалÑнÑй оÑÐ²ÐµÑ SASL. ÐамеÑÑÑе, ÑÑо оно Ñакже пÑименÑеÑÑÑ Ð´Ð»Ñ Ð¾ÑвеÑов GSSAPI, SSPI и пÑи аÑÑенÑиÑикаÑии по паÑолÑ. ТоÑнÑй Ñип ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð¿ÑеделÑеÑÑÑ Ð¸Ð· конÑекÑÑа.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- String
ÐÐ¼Ñ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° аÑÑенÑиÑикаÑии SASL, вÑбÑанного клиенÑом.
- Int32
Ðлина поÑледÑÑÑего ÑообÑÐµÐ½Ð¸Ñ Â«ÐаÑалÑнÑй оÑÐ²ÐµÑ ÐºÐ»Ð¸ÐµÐ½Ñа», ÑпеÑиÑиÑного Ð´Ð»Ñ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° SASL, или -1, еÑли наÑалÑного оÑвеÑа неÑ.
- Byte
n «ÐаÑалÑнÑй оÑвеÑ», ÑпеÑиÑиÑнÑй Ð´Ð»Ñ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° SASL.
- SASLResponse (F) #
- Byte1('p')
ÐбознаÑÐ°ÐµÑ ÑÑо ÑообÑение как оÑÐ²ÐµÑ SASL. ÐамеÑÑÑе, ÑÑо оно Ñакже пÑименÑеÑÑÑ Ð´Ð»Ñ Ð¾ÑвеÑов GSSAPI, SSPI и пÑи аÑÑенÑиÑикаÑии по паÑолÑ. ТоÑнÑй Ñип ÑообÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ опÑеделиÑÑ Ð¸Ð· конÑекÑÑа.
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Byte
n ÐаннÑе ÑообÑениÑ, ÑпеÑиÑиÑнÑе Ð´Ð»Ñ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° SASL.
- SSLRequest (F) #
- Int32(8)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(80877103)
Ðод запÑоÑа SSL. ÐÑо ÑпеÑиалÑно вÑбÑанное знаÑение ÑодеÑжиÑ
1234в ÑÑаÑÑÐ¸Ñ 16 биÑÐ°Ñ Ð¸5679в младÑÐ¸Ñ 16 биÑÐ°Ñ . (Ðо избежание неоднознаÑноÑÑи ÑÑÐ¾Ñ ÐºÐ¾Ð´ не должен ÑовпадаÑÑ Ñ Ð½Ð¾Ð¼ÐµÑом веÑÑии пÑоÑокола.)
- StartupMessage (F) #
- Int32
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Int32(196610)
ÐÐ¾Ð¼ÐµÑ Ð²ÐµÑÑии пÑоÑокола. Ð ÑÑаÑÑÐ¸Ñ 16 биÑÐ°Ñ Ð·Ð°Ð´Ð°ÑÑÑÑ ÑÑаÑÑий Ð½Ð¾Ð¼ÐµÑ Ð²ÐµÑÑии (3 Ð´Ð»Ñ Ð¿ÑоÑокола, опиÑÑваемого здеÑÑ). РмладÑÐ¸Ñ 16 биÑÐ°Ñ Ð·Ð°Ð´Ð°ÑÑÑÑ Ð¼Ð»Ð°Ð´Ñий Ð½Ð¾Ð¼ÐµÑ Ð²ÐµÑÑии (2 Ð´Ð»Ñ Ð¿ÑоÑокола, опиÑÑваемого здеÑÑ).
Ðа номеÑом веÑÑии пÑоÑокола ÑледÑÐµÑ Ð¾Ð´Ð½Ð° или неÑколÑко Ð¿Ð°Ñ Ð¸Ð· имени паÑамеÑÑа и ÑÑÑоки знаÑениÑ. Ðа поÑледней паÑой имÑ/знаÑение должен ÑледоваÑÑ Ð½Ñлевой байÑ. ÐеÑедаваÑÑÑÑ Ð¿Ð°ÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð² лÑбом поÑÑдке. ÐбÑзаÑелÑнÑм ÑвлÑеÑÑÑ ÑолÑко паÑамеÑÑ
user, оÑÑалÑнÑе могÑÑ Ð¾ÑÑÑÑÑÑвоваÑÑ. ÐаждÑй паÑамеÑÑ Ð·Ð°Ð´Ð°ÑÑÑÑ Ñак:- String
ÐÐ¼Ñ Ð¿Ð°ÑамеÑÑа. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð¿ÑинимаÑÑÑÑ Ð¸Ð¼ÐµÐ½Ð°:
userÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð±Ð°Ð· даннÑÑ , Ñ ÐºÐ¾ÑоÑÑм вÑполнÑеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение. ЯвлÑеÑÑÑ Ð¾Ð±ÑзаÑелÑнÑм, знаÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð½ÐµÑ.
databaseÐаза даннÑÑ , к коÑоÑой вÑполнÑеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÑÑавлÑеÑÑÑ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ.
optionsÐÑгÑменÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки Ð´Ð»Ñ Ð¾Ð±ÑлÑживаÑÑего пÑоÑеÑÑа. (ÐÑÐ¾Ñ ÑпоÑоб ÑÑиÑаеÑÑÑ ÑÑÑаÑевÑим; ÑепеÑÑ ÑледÑÐµÑ ÑÑÑанавливаÑÑ Ð¾ÑделÑнÑе паÑамеÑÑÑ Ð²Ñемени вÑполнениÑ.) ÐÑÐ¾Ð±ÐµÐ»Ñ Ð² ÑÑой ÑÑÑоке воÑпÑинимаÑÑÑÑ ÐºÐ°Ðº ÑазделÑÑÑие аÑгÑменÑÑ, еÑли пеÑед ними Ð½ÐµÑ Ð¾Ð±ÑаÑной коÑой ÑеÑÑÑ (
\); ÑÑÐ¾Ð±Ñ Ð¿ÑедÑÑавиÑÑ Ð¾Ð±ÑаÑнÑÑ ÐºÐ¾ÑÑÑ ÑеÑÑÑ Ð±ÑквалÑно, пÑодÑблиÑÑйÑе ÐµÑ (\\).replicationÐÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð² Ñежиме поÑоковой ÑепликаÑии, в коÑоÑом вмеÑÑо опеÑаÑоÑов SQL Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполнÑÑÑÑÑ Ð½ÐµÐ±Ð¾Ð»ÑÑой Ð½Ð°Ð±Ð¾Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ ÑепликаÑии. ÐопÑÑÑимÑе знаÑениÑ:
true,false(по ÑмолÑаниÑ) иdatabase. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº РазделÑ 54.4.
Рдополнение к ним могÑÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ Ð¸ дÑÑгие паÑамеÑÑÑ. Ðмена паÑамеÑÑов, наÑинаÑÑиеÑÑ Ñ
_pq_., ÑезеÑвиÑÑÑÑÑÑ Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑаÑÑиÑениÑÑ Ð¿ÑоÑокола, а оÑÑалÑнÑе воÑпÑинимаÑÑÑÑ ÐºÐ°Ðº паÑамеÑÑÑ Ð²Ñемени вÑполнениÑ, пеÑедаваемÑе во вÑÐµÐ¼Ñ Ð·Ð°Ð¿ÑÑка ÑеÑвеÑÐ½Ð¾Ð¼Ñ Ð¿ÑоÑеÑÑÑ. Такие паÑамеÑÑÑ Ð±ÑдÑÑ Ð¿ÑименÑÑÑÑÑ Ð¿Ñи запÑÑке ÑеÑвеÑного пÑоÑеÑÑа (поÑле ÑазбоÑа аÑгÑменÑов командной ÑÑÑоки, еÑли они еÑÑÑ) и бÑдÑÑ Ð´ÐµÐ¹ÑÑвоваÑÑ ÐºÐ°Ðº паÑамеÑÑÑ ÑеанÑа по ÑмолÑаниÑ.- String
ÐнаÑение паÑамеÑÑа.
- Sync (F) #
- Byte1('S')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение пÑедÑÑавлÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Sync.
- Int32(4)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.
- Terminate (F) #
- Byte1('X')
УказÑваеÑ, ÑÑо ÑÑо ÑообÑение завеÑÑÐ°ÐµÑ ÑеанÑ.
- Int32(4)
Ðлина ÑодеÑжимого ÑообÑÐµÐ½Ð¸Ñ Ð² байÑÐ°Ñ , вклÑÑÐ°Ñ Ñамо поле длинÑ.