Ðлава 50. ÐлиенÑ-ÑеÑвеÑнÑй пÑоÑокол
СодеÑжание
- 50.1. ÐбзоÑ
- 50.2. ÐоÑок ÑообÑений
- 50.2.1. ÐапÑÑк
- 50.2.2. ÐÑоÑÑой запÑоÑ
- 50.2.3. РаÑÑиÑеннÑй запÑоÑ
- 50.2.4. ÐонвейеÑизаÑиÑ
- 50.2.5. ÐÑзов ÑÑнкÑий
- 50.2.6. ÐпеÑаÑии COPY
- 50.2.7. ÐÑÐ¸Ð½Ñ ÑоннÑе опеÑаÑии
- 50.2.8. ÐÑмена вÑполнÑÑÑÐ¸Ñ ÑÑ Ð·Ð°Ð¿ÑоÑов
- 50.2.9. ÐавеÑÑение
- 50.2.10. ÐаÑиÑа ÑеанÑа Ñ SSL
- 50.2.2. ÐÑоÑÑой запÑоÑ
- 50.2.1. ÐапÑÑк
- 50.3. ÐÑÑенÑиÑикаÑÐ¸Ñ SASL
- 50.4. ÐÑоÑокол поÑоковой ÑепликаÑии
- 50.5. ÐÑоÑокол логиÑеÑкой поÑоковой ÑепликаÑии
- 50.4. ÐÑоÑокол поÑоковой ÑепликаÑии
- 50.6. Ð¢Ð¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ
в ÑообÑениÑÑ
- 50.7. ФоÑмаÑÑ ÑообÑений
- 50.8. ÐÐ¾Ð»Ñ ÑообÑений Ñ Ð¾Ñибками и замеÑаниÑми
- 50.9. ФоÑмаÑÑ ÑообÑений логиÑеÑкой ÑепликаÑии
- 50.10. Сводка изменений по ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð¿ÑоÑоколом веÑÑии 2.0
- 50.7. ФоÑмаÑÑ ÑообÑений
ÐлиенÑÑ Ð¸ ÑеÑвеÑÑ Postgres Pro взаимодейÑÑвÑÑÑ Ð´ÑÑг Ñ Ð´ÑÑгом, иÑполÑзÑÑ ÑпеÑиалÑнÑй пÑоÑокол, оÑнованнÑй на ÑообÑениÑÑ . ÐÑÐ¾Ñ Ð¿ÑоÑокол поддеÑживаеÑÑÑ Ð´Ð»Ñ Ñоединений по TCP/IP и ÑеÑез Unix-ÑокеÑÑ. ÐÐ»Ñ ÑеÑвеÑов, поддеÑживаÑÑÐ¸Ñ ÑÑÐ¾Ñ Ð¿ÑоÑокол, в IANA заÑезеÑвиÑован Ð½Ð¾Ð¼ÐµÑ TCP-поÑÑа 5432, но на пÑакÑике можно задейÑÑвоваÑÑ Ð»Ñбой поÑÑ, не ÑÑебÑÑÑий оÑобÑÑ Ð¿Ñивилегий.
Ð ÑÑой докÑменÑаÑии опиÑана веÑÑÐ¸Ñ 3.0 ÑÑого пÑоÑокола, ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð² PostgreSQL веÑÑии 7.4 и новее. Ðа опиÑанием пÑедÑдÑÑÐ¸Ñ Ð²ÐµÑÑий пÑоÑокола обÑаÑиÑеÑÑ Ðº докÑменÑаÑии более ÑÐ°Ð½Ð½Ð¸Ñ Ð²ÑпÑÑков PostgreSQL. Ðдин ÑеÑÐ²ÐµÑ ÑпоÑобен поддеÑживаÑÑ Ð½ÐµÑколÑко веÑÑий пÑоÑокола. ÐакÑÑ Ð²ÐµÑÑÐ¸Ñ Ð¿ÑоÑокола пÑÑаеÑÑÑ Ð¸ÑполÑзоваÑÑ ÐºÐ»Ð¸ÐµÐ½Ñ, ÑеÑÐ²ÐµÑ ÑзнаÑÑ Ð¸Ð· ÑÑаÑÑового ÑообÑÐµÐ½Ð¸Ñ Ð¿Ñи ÑÑÑановлении ÑоединениÑ. ÐÑли ÑÑаÑÑÐ°Ñ Ð²ÐµÑÑиÑ, запÑаÑÐ¸Ð²Ð°ÐµÐ¼Ð°Ñ ÐºÐ»Ð¸ÐµÐ½Ñом, не поддеÑживаеÑÑÑ ÑеÑвеÑом, Ñоединение бÑÐ´ÐµÑ ÑазоÑвано (напÑимеÑ, ÑÑо бÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ Ð¼ÐµÑÑо, еÑли ÐºÐ»Ð¸ÐµÐ½Ñ Ð·Ð°Ð¿ÑоÑÐ¸Ñ Ð¿ÑоÑокол веÑÑии 4.0, неÑÑÑеÑÑвÑÑÑий на Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ñ ÑÑого ÑекÑÑа). ÐÑли младÑÐ°Ñ Ð²ÐµÑÑиÑ, запÑаÑÐ¸Ð²Ð°ÐµÐ¼Ð°Ñ ÐºÐ»Ð¸ÐµÐ½Ñом, не поддеÑживаеÑÑÑ ÑеÑвеÑом (напÑимеÑ, ÐºÐ»Ð¸ÐµÐ½Ñ Ð·Ð°Ð¿ÑоÑил веÑÑÐ¸Ñ 3.1, а ÑеÑÐ²ÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑолÑко 3.0), ÑеÑÐ²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ Ð»Ð¸Ð±Ð¾ ÑазоÑваÑÑ Ñоединение, либо оÑвеÑиÑÑ ÑообÑением NegotiateProtocolVersion Ñ Ñказанием наиболÑÑей младÑей веÑÑии, коÑоÑÑÑ Ð¾Ð½ поддеÑживаеÑ. ÐаÑем ÐºÐ»Ð¸ÐµÐ½Ñ Ð¼Ð¾Ð¶ÐµÑ ÑеÑиÑÑ Ð»Ð¸Ð±Ð¾ пÑодолжиÑÑ ÑÑÑановление ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñ Ñказанной веÑÑией пÑоÑокола, либо ÑазоÑваÑÑ Ñоединение.
ЧÑÐ¾Ð±Ñ ÑÑÑекÑивно обÑлÑживаÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво клиенÑов, ÑеÑÐ²ÐµÑ Ð·Ð°Ð¿ÑÑÐºÐ°ÐµÑ Ð¾ÑделÑнÑй «обÑлÑживаÑÑий» пÑоÑеÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ клиенÑа. Ð ÑекÑÑей ÑеализаÑии новÑй доÑеÑний пÑоÑеÑÑ Ð·Ð°Ð¿ÑÑкаеÑÑÑ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾ поÑле обнаÑÑÐ¶ÐµÐ½Ð¸Ñ Ð²Ñ Ð¾Ð´ÑÑего подклÑÑениÑ. Ðднако ÑÑо пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð¿ÑозÑаÑно Ð´Ð»Ñ Ð¿ÑоÑокола. С ÑоÑки зÑÐµÐ½Ð¸Ñ Ð¿ÑоÑокола, ÑеÑÐ¼Ð¸Ð½Ñ Â«Ð¾Ð±ÑлÑживаÑÑий пÑоÑеÑÑ», «пÑоÑеÑÑ Ð·Ð°Ð´Ð½ÐµÐ³Ð¾ плана» и «ÑеÑвеÑ» взаимозаменÑемÑ, как и «пÑиложение пеÑеднего плана» и «клиенÑ».