14.5. ÐпÑимизаÑиÑ, ÑгÑожаÑÑÐ°Ñ ÑÑабилÑноÑÑи
СÑабилÑноÑÑÑ â ÑÑо ÑвойÑÑво Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , гаÑанÑиÑÑÑÑее, ÑÑо ÑезÑлÑÑÐ°Ñ Ð·Ð°ÑикÑиÑованнÑÑ ÑÑанзакÑий бÑÐ´ÐµÑ ÑÐ¾Ñ ÑанÑн даже в ÑлÑÑае ÑÐ±Ð¾Ñ ÑеÑвеÑа или оÑклÑÑÐµÐ½Ð¸Ñ Ð¿Ð¸ÑаниÑ. Ðднако обеÑпеÑиваеÑÑÑ ÑÑабилÑноÑÑÑ Ð·Ð° ÑÑÑÑ Ð·Ð½Ð°ÑиÑелÑной дополниÑелÑной нагÑÑзки. ÐоÑÑомÑ, еÑли Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе оÑказаÑÑÑÑ Ð¾Ñ Ñакой гаÑанÑии, Postgres Pro можно ÑÑкоÑиÑÑ ÐµÑÑ Ð±Ð¾Ð»ÑÑе, пÑименив ÑледÑÑÑие меÑÐ¾Ð´Ñ Ð¾Ð¿ÑимизаÑии. ÐÑоме Ñвно опиÑаннÑÑ Ð¸ÑклÑÑений, даже Ñ Ñакими изменениÑми конÑигÑÑаÑии пÑи Ñбое пÑогÑаммного ÑдÑа СУÐРгаÑанÑÐ¸Ñ ÑÑабилÑноÑÑи ÑÐ¾Ñ ÑанÑеÑÑÑ; ÑиÑк поÑеÑи или ÑазÑÑÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶ÐµÐ½ ÑолÑко в ÑлÑÑае внезапной оÑÑановки опеÑаÑионной ÑиÑÑемÑ.
ÐомеÑÑиÑе каÑалог даннÑÑ ÐºÐ»Ð°ÑÑеÑа ÐРв ÑайловÑÑ ÑиÑÑемÑ, ÑазмеÑÑннÑÑ Ð² памÑÑи (Ñ. е. в RAM-диÑк). Так Ð²Ñ Ð¸ÑклÑÑиÑе вÑÑ Ð°ÐºÑивноÑÑÑ Ð²Ð²Ð¾Ð´Ð°/вÑвода, ÑвÑзаннÑÑ Ñ Ð±Ð°Ð·Ð¾Ð¹ даннÑÑ , еÑли ÑолÑко ÑÐ°Ð·Ð¼ÐµÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð½Ðµ пÑевÑÑÐ°ÐµÑ Ð¾Ð±ÑÑм Ñвободной памÑÑи (возможно, Ñ ÑÑÑÑом Ñайла подкаÑки).
ÐÑклÑÑиÑе fsync; ÑбÑаÑÑваÑÑ Ð´Ð°Ð½Ð½Ñе на диÑк не нÑжно.
ÐÑклÑÑиÑе synchronous_commit; Ð½ÐµÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи пÑинÑдиÑелÑно запиÑÑваÑÑ WAL на диÑк пÑи ÑикÑаÑии каждой ÑÑанзакÑии. Ðо ÑÑÑиÑе, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к поÑеÑе ÑÑанзакÑий (Ñ Ð¾ÑÑ Ð´Ð°Ð½Ð½Ñе оÑÑанÑÑÑÑ ÑоглаÑованнÑми) в ÑлÑÑае ÑÐ±Ð¾Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ .
ÐÑклÑÑиÑе full_page_writes; заÑиÑа Ð¾Ñ ÑаÑÑиÑной запиÑи ÑÑÑÐ°Ð½Ð¸Ñ Ð½Ðµ нÑжна.
УвелиÑÑÑе max_wal_size и checkpoint_timeout; ÑÑо ÑменÑÑÐ¸Ñ ÑаÑÑоÑÑ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑоÑек, Ñ Ð¾ÑÑ Ð¾Ð±ÑÑм
/pg_xlogпÑи ÑÑом вÑÑаÑÑеÑ.СоздавайÑе нежÑÑналиÑÑемÑе ÑаблиÑÑ Ð´Ð»Ñ Ð¾Ð¿ÑимизаÑии запиÑи в WAL (но ÑÑÑиÑе, ÑÑо Ñакие ÑаблиÑÑ Ð½Ðµ заÑиÑÐµÐ½Ñ Ð¾Ñ ÑбоÑ).