26.3. ÐаÑамеÑÑÑ ÑезеÑвного ÑеÑвеÑа
standby_mode(boolean)УказÑваеÑ, ÑвлÑеÑÑÑ Ð»Ð¸ ÑеÑÐ²ÐµÑ Postgres Pro ÑезеÑвнÑм или неÑ. ÐÑли паÑамеÑÑ ÑÑÑановлен в
on, Ñо ÑеÑÐ²ÐµÑ Ð½Ðµ пÑекÑаÑÐ¸Ñ Ð²Ð¾ÑÑÑановление по оконÑании поÑледнего аÑÑ Ð¸Ð²Ð½Ð¾Ð³Ð¾ Ñайла WAL, а пÑÐ¾Ð´Ð¾Ð»Ð¶Ð¸Ñ Ð¿Ð¾Ð¿ÑÑки извлеÑÐµÐ½Ð¸Ñ Ð½Ð¾Ð²ÑÑ ÑегменÑов WAL поÑÑедÑÑвом командÑrestore_commandи/или ÑеÑез подклÑÑение к ведÑÑемÑ, как Ñказано в паÑамеÑÑеprimary_conninfo.primary_conninfo(string)УказÑÐ²Ð°ÐµÑ ÑÑÑÐ¾ÐºÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа к ведÑÑемÑ. СÑÑока опиÑана в ÑоÑмаÑе ÑоглаÑно ÐодÑаздел 32.1.1. ÐмеÑÑо опÑÑеннÑÑ Ð¿Ð°ÑамеÑÑов подклÑÑÐµÐ½Ð¸Ñ Ð¸ÑполÑзÑÑÑÑÑ ÑооÑвеÑÑÑвÑÑÑие пеÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ (Ñм. Раздел 32.14). ÐÑли же какие-Ñо пеÑеменнÑе не ÑÑÑановленÑ, Ñо иÑполÑзÑÑÑÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ.
СÑÑока Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ Ð¸Ð¼Ñ (или адÑеÑ) оÑновного ÑеÑвеÑа и поÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ. Также можно ÑказаÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾Ð³Ð¾ полÑзоваÑÐµÐ»Ñ Ð½Ð° ведÑÑем ÑеÑвеÑе Ñ ÑÑебÑемÑми пÑивилегиÑми (Ñм. ÐодÑаздел 25.2.5.1). ÐÑли наÑÑÑоена аÑÑенÑиÑикаÑÐ¸Ñ Ð¿Ð¾ паÑолÑ, Ñо его Ñакже Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑказаÑÑ. ÐаÑÐ¾Ð»Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ÑказаÑÑ ÐºÐ°Ðº в ÑÑÑоке подклÑÑениÑ
primary_conninfo, Ñак и в Ñайле~/.pgpassведомого ÑеÑвеÑа (в каÑеÑÑве имени Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸ÑполÑзÑйÑеreplication). Ðе ÑказÑвайÑе Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ ÑÑеди паÑамеÑÑов подклÑÑениÑprimary_conninfo.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ðµ дейÑÑвÑеÑ, еÑли
standby_modeÐ¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñениеoff.primary_slot_name(string)ÐополниÑелÑно задаÑÑ Ð·Ð°Ñанее ÑозданнÑй ÑлоÑ, коÑоÑÑй бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ñи подклÑÑении к ведÑÑÐµÐ¼Ñ Ð¿Ð¾ пÑоÑÐ¾ÐºÐ¾Ð»Ñ Ð¿Ð¾Ñоковой ÑепликаÑии Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñвобождением ÑеÑÑÑÑов вÑÑеÑÑоÑÑего Ñзла (Ñм. ÐодÑаздел 25.2.6). ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ðµ дейÑÑвÑеÑ, еÑли не Ñказана ÑÑÑока подклÑÑениÑ
primary_conninfo.trigger_file(string)УказÑÐ²Ð°ÐµÑ ÑÑиггеÑнÑй Ñайл, пÑи поÑвлении коÑоÑого завеÑÑаеÑÑÑ ÑабоÑа в Ñежиме ведомого. Ðаже еÑли ÑÑо знаÑение не ÑÑÑановлено, ÑÑÑеÑÑвÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð½Ð°Ð·Ð½Ð°ÑиÑÑ Ð²ÐµÐ´Ð¾Ð¼Ñй ÑеÑÐ²ÐµÑ Ð²ÐµÐ´ÑÑим Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
pg_ctl promote. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ðµ дейÑÑвÑеÑ, еÑли паÑамеÑÑstandby_modeÐ¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñениеoff.recovery_min_apply_delay(integer)Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÐµÐ´Ð¾Ð¼Ñй ÑеÑÐ²ÐµÑ Ð²Ð¾ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð·Ð°Ð¿Ð¸Ñи WAL ведÑÑего наÑÑолÑко бÑÑÑÑо, наÑколÑко ÑÑо возможно. Ðногда полезно имеÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð·Ð°Ð´ÐµÑÐ¶ÐºÑ Ð¿Ñи копиÑовании даннÑÑ , напÑимеÑ, Ð´Ð»Ñ ÑÑÑÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¾Ñибок, ÑвÑзаннÑÑ Ñ Ð¿Ð¾ÑеÑей даннÑÑ . ÐаÑамеÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð·Ð°Ð´Ð°ÑÑ ÑÑÑ Ð·Ð°Ð´ÐµÑжкÑ, Ñказав пеÑиод вÑемени в миллиÑекÑÐ½Ð´Ð°Ñ (по ÑмолÑаниÑ) или инÑÑ ÐµÐ´Ð¸Ð½Ð¸ÑÐ°Ñ Ð¸Ð·Ð¼ÐµÑениÑ. ÐапÑимеÑ, еÑли ÑÑÑановиÑÑ Ð·Ð½Ð°Ñение
5min, ведомÑй ÑеÑÐ²ÐµÑ Ð±ÑÐ´ÐµÑ Ð²Ð¾ÑпÑоизводиÑÑ ÑикÑаÑÐ¸Ñ ÑÑанзакÑии не ÑанÑÑе, Ñем ÑеÑез 5 минÑÑ (ÑÑÐ´Ñ Ð¿Ð¾ его ÑиÑÑемнÑм ÑаÑам) поÑле вÑемени ÑикÑаÑии, ÑообÑÑнного ведÑÑим.Ðозможна ÑиÑÑаÑиÑ, когда задеÑжка ÑепликаÑии Ð¼ÐµÐ¶Ð´Ñ ÑеÑвеÑами пÑевÑÑÐ°ÐµÑ Ð·Ð½Ð°Ñение ÑÑого паÑамеÑÑа. Ð ÑÑом ÑлÑÑае дополниÑелÑÐ½Ð°Ñ Ð·Ð°Ð´ÐµÑжка не добавлÑеÑÑÑ. ÐамеÑÑÑе, ÑÑо задеÑжка вÑÑиÑлÑеÑÑÑ ÐºÐ°Ðº ÑазниÑа Ð¼ÐµÐ¶Ð´Ñ Ð¼ÐµÑкой вÑемени, запиÑанной в WAL на ведÑÑем ÑеÑвеÑе, и ÑекÑÑим вÑеменем на ведомом. ÐапаздÑвание пеÑедаÑи, ÑвÑзанное Ñ Ð·Ð°Ð´ÐµÑжками в ÑеÑи или каÑкадной ÑепликаÑией, Ð¼Ð¾Ð¶ÐµÑ ÑÑÑеÑÑвенно ÑокÑаÑиÑÑ ÑеалÑное вÑÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ. ÐÑли вÑÐµÐ¼Ñ Ð½Ð° главном и ведомом ÑеÑвеÑе не ÑÐ¸Ð½Ñ ÑонизиÑовано, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑиводиÑÑ Ðº пÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿Ð¸Ñей Ñанее ожидаемого, однако ÑÑо не оÑÐµÐ½Ñ Ð²Ð°Ð¶Ð½Ð¾, поÑÐ¾Ð¼Ñ ÑÑо полезнÑе знаÑÐµÐ½Ð¸Ñ ÑÑого паÑамеÑÑа намного пÑевÑÑаÑÑ ÑипиÑное ÑаÑÑ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ðµ во вÑемени Ð¼ÐµÐ¶Ð´Ñ Ð´Ð²ÑÐ¼Ñ ÑеÑвеÑами.
ÐадеÑжка пÑименÑеÑÑÑ Ð»Ð¸ÑÑ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñей WAL, пÑедÑÑавлÑÑÑÐ¸Ñ ÑикÑаÑÐ¸Ñ ÑÑанзакÑий. ÐÑÑалÑнÑе запиÑи пÑоигÑÑваÑÑÑÑ Ð½ÐµÐ·Ð°Ð¼ÐµÐ´Ð»Ð¸ÑелÑно, Ñак как Ð¸Ñ ÑÑÑÐµÐºÑ Ð½Ðµ бÑÐ´ÐµÑ Ð·Ð°Ð¼ÐµÑен до пÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑооÑвеÑÑÑвÑÑÑей запиÑи о ÑикÑаÑии ÑÑанзакÑии, благодаÑÑ Ð¿Ñавилам видимоÑÑи MVCC.
ÐадеÑжка добавлÑеÑÑÑ, как ÑолÑко воÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ð±Ð°Ð·Ð° даннÑÑ Ð´Ð¾ÑÑÐ¸Ð³Ð°ÐµÑ ÑоглаÑованного ÑоÑÑоÑниÑ, и иÑклÑÑаеÑÑÑ, когда ведÑÑий ÑеÑÐ²ÐµÑ Ð¿ÐµÑеклÑÑаеÑÑÑ Ð² Ñежим оÑновного. ÐоÑле пеÑеклÑÑÐµÐ½Ð¸Ñ Ð²ÐµÐ´ÑÑий ÑеÑÐ²ÐµÑ Ð·Ð°Ð²ÐµÑÑÐ°ÐµÑ Ð²Ð¾ÑÑÑановление незамедлиÑелÑно.
ÐаннÑй паÑамеÑÑ Ð¿ÑедназнаÑен Ð´Ð»Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² конÑигÑÑаÑиÑÑ Ñ Ð¿Ð¾Ñоковой ÑепликаÑией; однако еÑли он задан, он бÑÐ´ÐµÑ ÑÑиÑÑваÑÑÑÑ Ð² лÑбÑÑ ÑлÑÑаÑÑ . ÐадеÑжка, ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ ÑÑим паÑамеÑÑом, влиÑÐµÑ Ð¸ на ÑабоÑÑ Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð°
hot_standby_feedback, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к ÑаздÑÐ²Ð°Ð½Ð¸Ñ Ð±Ð°Ð·Ñ Ð½Ð° главном ÑеÑвеÑе; иÑполÑзоваÑÑ Ð´Ð°Ð½Ð½Ñй паÑамеÑÑ Ð¿Ñи вклÑÑении ÑÑого Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼Ð° ÑледÑÐµÑ Ñ Ð¾ÑÑоÑожноÑÑÑÑ.ÐÑедÑпÑеждение
ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²Ð»Ð¸ÑÐµÑ Ð½Ð° ÑÐ¸Ð½Ñ ÑоннÑÑ ÑепликаÑиÑ, когда
synchronous_commitÐ¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñениеremote_apply; каждÑйCOMMITбÑÐ´ÐµÑ Ð¶Ð´Ð°ÑÑ Ð¿Ð¾Ð´ÑвеÑÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿ÑименениÑ.