18.14. ÐбÑабоÑка оÑибок
exit_on_error(boolean)ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÐºÐ»ÑÑÑн, лÑÐ±Ð°Ñ Ð¾Ñибка пÑиведÑÑ Ðº пÑеÑÑÐ²Ð°Ð½Ð¸Ñ ÑекÑÑего ÑеанÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð½ оÑклÑÑÑн, Ñак ÑÑо ÑÐµÐ°Ð½Ñ Ð±ÑÐ´ÐµÑ Ð¿ÑеÑÑваÑÑÑÑ ÑолÑко пÑи кÑиÑиÑеÑÐºÐ¸Ñ Ð¾ÑÐ¸Ð±ÐºÐ°Ñ .
restart_after_crash(boolean)Ðогда ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð²ÐºÐ»ÑÑÑн (ÑÑо ÑоÑÑоÑние по ÑмолÑаниÑ), Postgres Pro бÑÐ´ÐµÑ Ð°Ð²ÑомаÑиÑеÑки пеÑезагÑÑжаÑÑÑÑ Ð¿Ð¾Ñле ÑÐ±Ð¾Ñ ÑеÑвеÑного пÑоÑеÑÑа. Такой ваÑÐ¸Ð°Ð½Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¾Ð±ÐµÑпеÑиÑÑ Ð¼Ð°ÐºÑималÑнÑÑ ÑÑÐµÐ¿ÐµÐ½Ñ Ð´Ð¾ÑÑÑпноÑÑи Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . Ðднако в некоÑоÑÑÑ Ð¾Ð±ÑÑоÑÑелÑÑÑÐ²Ð°Ñ , напÑимеÑ, когда Postgres Pro ÑпÑавлÑеÑÑÑ ÐºÐ»Ð°ÑÑеÑнÑм ÐÐ, ÑакÑÑ Ð¿ÐµÑезагÑÑÐ·ÐºÑ Ð»ÑÑÑе оÑклÑÑиÑÑ, ÑÑÐ¾Ð±Ñ ÐºÐ»Ð°ÑÑеÑное ÐРмогло вмеÑаÑÑÑÑ Ð¸ вÑполниÑÑ, возможно, более Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑие дейÑÑвиÑ.
ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в
postgresql.confили в командной ÑÑÑоке пÑи запÑÑке ÑеÑвеÑа.data_sync_retry(boolean)ÐÑи вÑклÑÑенном знаÑении ÑÑого паÑамеÑÑа (по ÑмолÑаниÑ) Postgres Pro бÑÐ´ÐµÑ Ð²ÑдаваÑÑ Ð¾ÑÐ¸Ð±ÐºÑ ÑÑÐ¾Ð²Ð½Ñ PANIC в ÑлÑÑае неÑдаÑи пÑи попÑÑке ÑÐ¾Ñ ÑаниÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑннÑе даннÑе в Ñайловой ÑиÑÑеме. Ð ÑезÑлÑÑаÑе ÑеÑÐ²ÐµÑ Ð±Ð°Ð· даннÑÑ Ð¾ÑÑановиÑÑÑ Ð°Ð²Ð°Ñийно. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.
РнекоÑоÑÑÑ Ð¾Ð¿ÐµÑаÑионнÑÑ ÑиÑÑÐµÐ¼Ð°Ñ ÑоÑÑоÑние даннÑÑ Ð² кеÑе внÑÑÑи ÑдÑа оказÑваеÑÑÑ Ð½ÐµÐ¾Ð¿ÑеделÑннÑм пÑи оÑибке запиÑи. Ð ÐºÐ°ÐºÐ¸Ñ -Ñо ÑлÑÑаÑÑ ÑÑи даннÑе могÑÑ Ð±ÑÑÑ Ð¿ÑоÑÑо ÑÑеÑÑнÑ, и повÑоÑÑÑÑ Ð¿Ð¾Ð¿ÑÑÐºÑ Ð·Ð°Ð¿Ð¸Ñи небезопаÑно: вÑоÑÐ°Ñ Ð¿Ð¾Ð¿ÑÑка Ð¼Ð¾Ð¶ÐµÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ ÑÑпеÑной, Ñогда как на деле даннÑе не ÑÐ¾Ñ ÑаненÑ. Ð ÑÑÐ¸Ñ Ð¾Ð±ÑÑоÑÑелÑÑÑÐ²Ð°Ñ ÐµÐ´Ð¸Ð½ÑÑвеннÑй ÑпоÑоб избежаÑÑ Ð¿Ð¾ÑеÑи даннÑÑ â воÑÑÑановиÑÑ Ð¸Ñ Ð¸Ð· WAL поÑле Ñакого ÑбоÑ, но пеÑед ÑÑим желаÑелÑно вÑÑÑниÑÑ Ð¿ÑиÑÐ¸Ð½Ñ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð¸, возможно, замениÑÑ Ð½ÐµÑабоÑее обоÑÑдование.
ÐÑли вклÑÑиÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ, Postgres Pro в ÑлÑÑае ÑÐ±Ð¾Ñ Ð¿Ñи запиÑи вÑдаÑÑ Ð¾ÑибкÑ, но пÑÐ¾Ð´Ð¾Ð»Ð¶Ð¸Ñ ÑабоÑÑ Ð² ÑаÑÑÑÑе повÑоÑиÑÑ Ð¾Ð¿ÐµÑаÑÐ¸Ñ ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¿Ñи поÑледÑÑÑей конÑÑолÑной ÑоÑке. ÐклÑÑаÑÑ ÐµÐ³Ð¾ ÑледÑеÑ, ÑолÑко еÑли доÑÑовеÑно извеÑÑно, как поÑÑÑÐ¿Ð°ÐµÑ ÑиÑÑема Ñ Ð´Ð°Ð½Ð½Ñми в бÑÑеÑе пÑи оÑибке запиÑи.
crash_info(boolean)ÐÑли ÑÑÑановлено знаÑение по ÑмолÑаниÑ
on, Postgres Pro запиÑÑÐ²Ð°ÐµÑ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑиÑеÑкÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ Ñбое ÑеÑвеÑа в Ñайл.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.
crash_info_dump(text)УказÑÐ²Ð°ÐµÑ ÑазделÑннÑй запÑÑÑми ÑпиÑок ÑекÑÑовÑÑ ÑÑÑок, ÑодеÑжаÑÐ¸Ñ Ð¸ÑÑоÑники даннÑÑ Ð´Ð»Ñ Ð°Ð²Ð°ÑийнÑÑ Ð´Ð°Ð¼Ð¿Ð¾Ð². ÐÐ¾Ð·Ð¼Ð¾Ð¶Ð½Ñ ÑледÑÑÑие знаÑÐµÐ½Ð¸Ñ ÑÑÑок:
queriesâ ÑекÑÑÑ Ð·Ð°Ð¿ÑоÑов.memory_contextâ конÑекÑÑ Ð¿Ð°Ð¼ÑÑи Postgres Pro (за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº РазделÑ 45.3).systemâ инÑоÑмаÑÐ¸Ñ Ð¾Ð± ÐС.moduleâ инÑоÑмаÑÐ¸Ñ Ð¾ модÑлÑÑ , загÑÑженнÑÑ Ð² пÑоÑеÑÑpostgres.cpuinfoâ инÑоÑмаÑÐ¸Ñ Ð¾ пÑоÑеÑÑоÑе: ÑиÑло ÑдеÑ, Ð½Ð°Ð±Ð¾Ñ Ð¸Ð½ÑÑÑÑкÑий, и Ñ. д.cpu_context:РегиÑÑÑÑ ÐºÐ¾Ð½ÑекÑÑа пÑоÑеÑÑоÑа.
ÐбÑÐ°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾Ð± оÑибке: Ð½Ð¾Ð¼ÐµÑ Ñигнала, инÑоÑмаÑÐ¸Ñ Ð¾ коде Ñигнала, PID, PID ÑодиÑелÑÑкого пÑоÑеÑÑа, иденÑиÑикаÑÐ¾Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð¸ Ñ. д.
virtual_memoryâ инÑоÑмаÑÐ¸Ñ Ð¾ виÑÑÑалÑной памÑÑиinstruction_pointerâ байÑÑ Ð¾ÐºÐ¾Ð»Ð¾ RIP (return instruction pointer, ÑказаÑÐµÐ»Ñ Ð²Ð¾Ð·Ð²ÑаÑа инÑÑÑÑкÑии, коÑоÑÑй ÑказÑÐ²Ð°ÐµÑ Ð½Ð° адÑÐµÑ Ð¿Ð°Ð¼ÑÑи, по коÑоÑÐ¾Ð¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ÑÑдиÑÑ Ð¾ пÑогÑеÑÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ð² памÑÑи).stackâ ÑÐ°Ð·Ð¼ÐµÑ ÑÑека (байÑÑ). СÑек вÑгÑÑжаеÑÑÑ Ð² оÑделÑнÑй Ñайл из каÑалога, кÑда запиÑÑваеÑÑÑ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑиÑеÑÐºÐ°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑбоÑÑ ÑеÑвеÑа (по ÑмолÑаниÑ). ÐÑÐ¾Ñ Ñайл назÑваеÑÑÑ Ñак же, как и жÑÑнал Ñбоев, но Ð¸Ð¼ÐµÐµÑ ÑаÑÑиÑениеPGDATA/crash_info.data. ÐдÑеÑа веÑÑ Ð½ÐµÐ¹ и нижней гÑÐ°Ð½Ð¸Ñ ÑÑека запиÑÑваÑÑÑÑ Ð² жÑÑнал Ñбоев.
ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
system,module,queries,cpu_context,instruction_pointer.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.
crash_info_location(string)УказÑÐ²Ð°ÐµÑ ÐºÐ°Ñалог, в коÑоÑом должна Ñ ÑаниÑÑÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ Ñбое ÑеÑвеÑа. ÐÑи знаÑении
stderrинÑоÑмаÑÐ¸Ñ Ð¾ Ñбое оÑпÑавлÑеÑÑÑ Ð² каÑалог stderr. ÐÑли в ÑÑом паÑамеÑÑе Ñказана пÑÑÑÐ°Ñ ÑÑÑока''(по ÑмолÑаниÑ), иÑполÑзÑеÑÑÑ ÐºÐ°Ñалог$PGDATA/crash_info. ÐÑли нÑжно ÑÐ¾Ñ ÑанÑÑÑ ÑÐ°Ð¹Ð»Ñ Ð² дÑÑгом меÑÑе, заÑанее ÑоздайÑе Ñелевой каÑалог и вÑдайÑе ÑооÑвеÑÑÑвÑÑÑие пÑава.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.
crash_info_timer(boolean)ÐклÑÑÐ°ÐµÑ Ð¸Ð»Ð¸ оÑклÑÑÐ°ÐµÑ Ð²ÑгÑÑÐ·ÐºÑ ÑоÑÑоÑÐ½Ð¸Ñ Ð´Ð»Ð¸ÑелÑнÑÑ Ð·Ð°Ð¿ÑоÑов по ÑаймеÑÑ, ÑÑо позволÑÐµÑ Ð¿ÑоÑилиÑоваÑÑ Ñакие запÑоÑÑ. Ð¢Ð°Ð¹Ð¼ÐµÑ Ð·Ð°Ð¿ÑÑкаеÑÑÑ Ð¿Ð¾ инÑеÑвалÑ, знаÑение коÑоÑого ÑказÑваеÑÑÑ Ð² crash_info_timer_interval, и измеÑÑÐµÑ Ð²ÑÐµÐ¼Ñ Ð¾Ð±ÑабоÑки запÑоÑа. Ðогда вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑа пÑевÑÑÐ°ÐµÑ Ð¿Ð¾Ñоговое знаÑение, Ñказанное в crash_info_query_threshold, ÑоÑÑоÑние запÑоÑа вÑгÑÑжаеÑÑÑ Ð½Ð° диÑк. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
off. ЧÑÐ¾Ð±Ñ ÑÐ°Ð¹Ð¼ÐµÑ ÑабоÑал, Ð´Ð»Ñ crash_info_dump должно бÑÑÑ ÑÑÑановлено знаÑение по кÑайней меÑеqueries. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели командойSETв ÑекÑÑем ÑеанÑе или глобалÑно в Ñайле конÑигÑÑаÑии.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа в Ñайле
postgresql.conf. ЧÑÐ¾Ð±Ñ Ð¿ÐµÑеÑиÑаÑÑ Ð·Ð½Ð°Ñение паÑамеÑÑа, пеÑезапÑÑÑиÑе ÑеÑÐ²ÐµÑ Ð¸Ð»Ð¸ оÑпÑавÑÑе Ñигнал SIGHUP Ð³Ð»Ð°Ð²Ð½Ð¾Ð¼Ñ ÑеÑвеÑÐ½Ð¾Ð¼Ñ Ð¿ÑоÑеÑÑÑ.crash_info_timer_interval(integer)ÐадаÑÑ Ð²Ñеменной инÑеÑвал Ð´Ð»Ñ Ð·Ð°Ð¿ÑÑка ÑаймеÑа (в миллиÑекÑÐ½Ð´Ð°Ñ ). ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
1000. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели командойSETв ÑекÑÑем ÑеанÑе или глобалÑно в Ñайле конÑигÑÑаÑии.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа в Ñайле
postgresql.conf. ЧÑÐ¾Ð±Ñ Ð¿ÐµÑеÑиÑаÑÑ Ð·Ð½Ð°Ñение паÑамеÑÑа, пеÑезапÑÑÑиÑе ÑеÑÐ²ÐµÑ Ð¸Ð»Ð¸ оÑпÑавÑÑе Ñигнал SIGHUP Ð³Ð»Ð°Ð²Ð½Ð¾Ð¼Ñ ÑеÑвеÑÐ½Ð¾Ð¼Ñ Ð¿ÑоÑеÑÑÑ.crash_info_query_threshold(integer)ÐадаÑÑ Ð¿Ð¾Ñоговое знаÑение вÑемени обÑабоÑки запÑоÑа (в миллиÑекÑÐ½Ð´Ð°Ñ ). ÐÑи доÑÑижении знаÑÐµÐ½Ð¸Ñ ÑоÑÑоÑние запÑоÑа вÑгÑÑжаеÑÑÑ Ð½Ð° диÑк. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â
3000. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели командойSETв ÑекÑÑем ÑеанÑе или глобалÑно в Ñайле конÑигÑÑаÑии.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа в Ñайле
postgresql.conf. ЧÑÐ¾Ð±Ñ Ð¿ÐµÑеÑиÑаÑÑ Ð·Ð½Ð°Ñение паÑамеÑÑа, пеÑезапÑÑÑиÑе ÑеÑÐ²ÐµÑ Ð¸Ð»Ð¸ оÑпÑавÑÑе Ñигнал SIGHUP Ð³Ð»Ð°Ð²Ð½Ð¾Ð¼Ñ ÑеÑвеÑÐ½Ð¾Ð¼Ñ Ð¿ÑоÑеÑÑÑ.