pg_probackup
pg_probackup â ÑпÑавление ÑезеÑвнÑм копиÑованием и воÑÑÑановлением клаÑÑеÑов баз даннÑÑ Postgres Pro
СинÑакÑиÑ
pg_probackup version
pg_probackup help [команда]
pg_probackup init -B каÑалог_копий --skip-if-exists
pg_probackup add-instance -B каÑалог_копий -D каÑалог_даннÑÑ
--instance имÑ_ÑкземплÑÑа --skip-if-exists
pg_probackup del-instance -B каÑалог_копий --instance имÑ_ÑкземплÑÑа
pg_probackup set-config -B каÑалог_копий --instance имÑ_ÑкземплÑÑа [паÑамеÑÑ...]
pg_probackup set-backup -B каÑалог_копий --instance имÑ_ÑкземплÑÑа -i ид_ÑезеÑвной_копии [паÑамеÑÑ...]
pg_probackup show-config -B каÑалог_копий --instance имÑ_ÑкземплÑÑа [паÑамеÑÑ...]
pg_probackup show -B каÑалог_копий [паÑамеÑÑ...]
pg_probackup backup -B каÑалог_копий --instance имÑ_ÑкземплÑÑа -b Ñежим_копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ [паÑамеÑÑ...]
pg_probackup restore -B каÑалог_копий --instance имÑ_ÑкземплÑÑа [паÑамеÑÑ...]
pg_probackup checkdb -B каÑалог_копий --instance имÑ_ÑкземплÑÑа -D каÑалог_даннÑÑ
[паÑамеÑÑ...]
pg_probackup validate -B каÑалог_копий [паÑамеÑÑ...]
pg_probackup merge -B каÑалог_копий --instance имÑ_ÑкземплÑÑа -i ид_ÑезеÑвной_копии [паÑамеÑÑ...]
pg_probackup delete -B каÑалог_копий --instance имÑ_ÑкземплÑÑа { -i ид_ÑезеÑвной_копии | --delete-wal | --delete-expired | --merge-expired } [паÑамеÑÑ...]
pg_probackup archive-push -B каÑалог_копий --instance имÑ_ÑкземплÑÑа --wal-file-path пÑÑÑ_Ñайлов_wal --wal-file-name имÑ_Ñайла_wal [паÑамеÑÑ...]
pg_probackup archive-get -B каÑалог_копий --instance имÑ_ÑкземплÑÑа --wal-file-path пÑÑÑ_Ñайлов_wal --wal-file-name имÑ_Ñайла_wal [паÑамеÑÑ...]
pg_probackup catchup -b Ñежим_ÑинÑ
ÑонизаÑии --source-pgdata=пÑÑÑ_к_копиÑÑемомÑ_каÑалогÑ_даннÑÑ
--destination-pgdata=пÑÑÑ_к_ÑелевомÑ_каÑалогÑ_даннÑÑ
[паÑамеÑÑ...]
ÐпиÑание
pg_probackup â ÑÑо ÑÑилиÑа Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑезеÑвнÑм копиÑованием и воÑÑÑановлением клаÑÑеÑов баз даннÑÑ Postgres Pro. Ðна пÑедназнаÑена Ð´Ð»Ñ ÑегÑлÑÑного ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ ÑкземплÑÑа Postgres Pro, позволÑÑÑÐ¸Ñ Ð²Ð¾ÑÑÑанавливаÑÑ ÑеÑÐ²ÐµÑ Ð² ÑлÑÑае Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи. pg_probackup поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ PostgreSQL веÑÑии 11 и новее.
ÐбзоÑ
Ðо ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ð´ÑÑгими ÑÑедÑÑвами ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ pg_probackup Ð¸Ð¼ÐµÐµÑ ÑледÑÑÑие пÑеимÑÑеÑÑва, полезнÑе Ð´Ð»Ñ ÑеализаÑии ÑазлиÑнÑÑ ÑÑÑаÑегий ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÑабоÑÑ Ñ Ð±Ð°Ð·Ð°Ð¼Ð¸ даннÑÑ Ð±Ð¾Ð»ÑÑого обÑÑма:
ÐнкÑеменÑалÑное копиÑование: вÑбиÑÐ°Ñ Ð¾Ð´Ð¸Ð½ из ÑÑÑÑ Ñежимов инкÑеменÑалÑного копиÑованиÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑеализоваÑÑ ÑÑÑаÑÐµÐ³Ð¸Ñ ÑезеÑвного копиÑованиÑ, ÑооÑвеÑÑÑвÑÑÑÑÑ Ð²Ð°ÑÐµÐ¼Ñ Ð¿ÑоÑÐ¸Ð»Ñ ÑÑанзакÑионной нагÑÑзки. ÐÑо позволÑÐµÑ ÑÑкономиÑÑ Ð¼ÐµÑÑо на диÑке и ÑоздаваÑÑ ÐºÐ¾Ð¿Ð¸Ð¸ бÑÑÑÑее, Ñем пÑи полном копиÑовании. ÐоÑÑÑановление инкÑеменÑалÑнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ Ñакже оÑÑÑеÑÑвлÑеÑÑÑ Ð±ÑÑÑÑее, Ñем воÑпÑоизведение Ñайлов WAL.
ÐнкÑеменÑалÑное воÑÑÑановление: ÑÑкоÑение воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð· копии благодаÑÑ Ð¿Ð¾Ð²ÑоÑÐ½Ð¾Ð¼Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐ¸Ð·Ð¼ÐµÐ½ÑннÑÑ ÑÑÑаниÑ, имеÑÑÐ¸Ñ ÑÑ Ð²
PGDATA.ÐÑовеÑка: авÑомаÑиÑеÑкий конÑÑÐ¾Ð»Ñ ÑелоÑÑноÑÑи даннÑÑ Ð¸ пÑовеÑка ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ без воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ ÐºÐ»Ð°ÑÑеÑа.
ÐонÑÑÐ¾Ð»Ñ ÑелоÑÑноÑÑи: вÑполнÑÐµÐ¼Ð°Ñ Ð¿Ð¾ запÑоÑÑ Ð¿ÑовеÑка ÑкземплÑÑа Postgres Pro Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
checkdb.ÐолиÑика Ñ ÑанениÑ: ÑпÑавление аÑÑ Ð¸Ð²Ð°Ð¼Ð¸ WAL и ÑезеÑвнÑми копиÑми в ÑооÑвеÑÑÑвии Ñ ÑÑÑановленнÑми пÑавилами Ð¸Ñ Ñ ÑанениÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе огÑаниÑиÑÑ Ñ Ñанение ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ по вÑемени или Ð¸Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑвÑ, а Ñакже пеÑеопÑеделиÑÑ Ð²ÑÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ (TTL) Ð´Ð»Ñ Ð¸Ð·Ð±ÑаннÑÑ ÐºÐ¾Ð¿Ð¸Ð¹. ÐоÑеÑÑвÑие акÑÑалÑноÑÑÑ ÑезеÑвнÑе копии могÑÑ Ð¾Ð±ÑединÑÑÑÑÑ Ð¸Ð»Ð¸ ÑдалÑÑÑÑÑ.
ÐаÑаллелÑное вÑполнение: вÑполнение внÑÑÑÐµÐ½Ð½Ð¸Ñ Ð¿ÑоÑеÑÑов команд
backup,restore,merge,delete,validateиcheckdbв неÑколÑко паÑаллелÑнÑÑ Ð¿Ð¾Ñоков.СжаÑие: Ñ Ñанение копиÑÑемÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑжаÑом ÑоÑÑоÑнии Ð´Ð»Ñ Ñкономии диÑкового пÑоÑÑÑанÑÑва.
ÐÑклÑÑение дÑблиÑованиÑ: ÑÐºÐ¾Ð½Ð¾Ð¼Ð¸Ñ Ð´Ð¸Ñкового пÑоÑÑÑанÑÑва за ÑÑÑÑ ÑилÑÑÑаÑии пÑи инкÑеменÑалÑном копиÑовании Ñайлов, не ÑодеÑжаÑÐ¸Ñ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно даннÑе (напÑимеÑ, Ñайлов
_vmили_fsm), еÑли ÑÑи ÑÐ°Ð¹Ð»Ñ Ð½Ðµ изменÑлиÑÑ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÑедÑдÑÑей копии в ÑепоÑке инкÑеменÑалÑнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.УдалÑннÑй Ñежим ÑабоÑÑ: вÑполнение ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑкземплÑÑа Postgres Pro, Ð½Ð°Ñ Ð¾Ð´ÑÑегоÑÑ Ð² ÑдалÑнной ÑиÑÑеме, и ÑдалÑнное воÑÑÑановление.
ÐолÑÑение ÑезеÑвной копии Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾: иÑклÑÑение дополниÑелÑной нагÑÑзки на ведÑÑий ÑеÑвеÑ.
ÐÑÑ Ð¸Ð²Ð¸Ñование внеÑÐ½Ð¸Ñ ÐºÐ°Ñалогов: ÑезеÑвное копиÑование Ñайлов и каÑалогов, ÑаÑположеннÑÑ Ð²Ð½Ðµ каÑалога даннÑÑ Postgres Pro (
PGDATA), напÑÐ¸Ð¼ÐµÑ ÑкÑипÑов, Ñайлов конÑигÑÑаÑии, жÑÑналов или SQL-дампов.ÐаÑалогизаÑÐ¸Ñ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹: полÑÑение ÑпиÑка ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ и ÑооÑвеÑÑÑвÑÑÑей меÑаинÑоÑмаÑии в виде пÑоÑÑого ÑекÑÑа или JSON.
ÐаÑалогизаÑÐ¸Ñ Ð°ÑÑ Ð¸Ð²Ð¾Ð² WAL: полÑÑение ÑпиÑка вÑÐµÑ Ð»Ð¸Ð½Ð¸Ð¹ вÑемени в WAL и ÑооÑвеÑÑÑвÑÑÑей меÑаинÑоÑмаÑии в виде пÑоÑÑого ÑекÑÑа или JSON.
ЧаÑÑиÑное воÑÑÑановление: воÑÑÑановление ÑолÑко избÑаннÑÑ Ð±Ð°Ð· даннÑÑ .
Ð¡Ð¸Ð½Ñ ÑонизаÑиÑ: клониÑование ÑкземплÑÑа Postgres Pro, в ÑезÑлÑÑаÑе коÑоÑого оÑÑÑавÑий ведомÑй ÑеÑÐ²ÐµÑ ÑÐ¸Ð½Ñ ÑонизиÑÑеÑÑÑ Ñ Ð²ÐµÐ´ÑÑим.
ÐÐ»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑезеÑвнÑми копиÑми pg_probackup ÑоздаÑÑ ÐºÐ°Ñалог ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹. Ð ÑÑом каÑалоге ÑÐ¾Ñ ÑанÑÑÑÑÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑной меÑаинÑоÑмаÑией, а Ñакже аÑÑ Ð¸Ð²Ñ WAL, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени. ÐÑ Ð¼Ð¾Ð¶ÐµÑе Ñ ÑаниÑÑ ÑезеÑвнÑе копии ÑазнÑÑ ÑкземплÑÑов в оÑделÑнÑÑ Ð¿Ð¾Ð´ÐºÐ°ÑÐ°Ð»Ð¾Ð³Ð°Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ каÑалога копий.
ÐÑполÑзÑÑ pg_probackup, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе вÑполнÑÑÑ Ð¿Ð¾Ð»Ð½Ð¾Ðµ или инкÑеменÑалÑное ÑезеÑвное копиÑование:
ÐолнÑе ÑезеÑвнÑе копии ÑодеÑÐ¶Ð°Ñ Ð²Ñе ÑÐ°Ð¹Ð»Ñ Ð´Ð°Ð½Ð½ÑÑ , Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа баз даннÑÑ Ñ Ð½ÑлÑ.
ÐнкÑеменÑалÑнÑе копии ÑоздаÑÑÑÑ Ð½Ð° ÑÑовне ÑÑÑÐ°Ð½Ð¸Ñ Ð¸ вклÑÑаÑÑ ÑолÑко Ñе даннÑе, коÑоÑÑе изменилиÑÑ Ñо вÑемени поÑледнего копиÑованиÑ. ÐÑо позволÑÐµÑ ÑÑкономиÑÑ Ð¼ÐµÑÑо на диÑке и ÑоздаваÑÑ ÐºÐ¾Ð¿Ð¸Ð¸ бÑÑÑÑее, Ñем пÑи полном копиÑовании. ÐоÑÑÑановление инкÑеменÑалÑнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ Ñакже оÑÑÑеÑÑвлÑеÑÑÑ Ð±ÑÑÑÑее, Ñем воÑпÑоизведение Ñайлов WAL. pg_probackup поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑледÑÑÑие ÑÐµÐ¶Ð¸Ð¼Ñ Ð¸Ð½ÐºÑеменÑалÑного копиÑованиÑ:
РазноÑÑное копиÑование. Ð Ñежиме
DELTApg_probackup ÑÑиÑÑÐ²Ð°ÐµÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² каÑалоге даннÑÑ Ð¸ копиÑÑÐµÑ ÑолÑко Ñе ÑÑÑаниÑÑ, коÑоÑÑе изменилиÑÑ Ñо вÑемени пÑедÑдÑÑего копиÑованиÑ. ÐÐ»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ñежима не ÑÑебÑеÑÑÑ Ð¿ÑоизводиÑÑ Ð½ÐµÐ¿ÑеÑÑвное аÑÑ Ð¸Ð²Ð¸Ñование. Ð ÑÑом Ñежиме обÑÑм ввода/вÑвода Ð¼Ð¾Ð¶ÐµÑ ÑавнÑÑÑÑÑ Ð¾Ð±ÑÑÐ¼Ñ Ð¿Ñи полном ÑезеÑвном копиÑовании.СÑÑаниÑное копиÑование. Ð Ñежиме
PAGEpg_probackup ÑканиÑÑÐµÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ WAL в аÑÑ Ð¸Ð²Ðµ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÑедÑдÑÑей полной или инкÑеменÑалÑной копии. ÐÐ¾Ð²Ð°Ñ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð±ÑÐ´ÐµÑ ÑодеÑжаÑÑ ÑолÑко ÑÑÑаниÑÑ, ÑигÑÑиÑÑÑÑие в запиÑÑÑ WAL. ÐÑи ÑÑом Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾, ÑÑÐ¾Ð±Ñ Ð² аÑÑ Ð¸Ð²Ðµ WAL ÑÐ¾Ñ ÑанÑлиÑÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ WAL, запиÑаннÑе поÑле пÑедÑдÑÑей копии. ÐÑли ÑÐ°Ð·Ð¼ÐµÑ ÑÑÐ¸Ñ Ñайлов ÑÑавним Ñ Ð¾Ð±Ñим ÑазмеÑом Ñайлов Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , ÑÑкоÑение бÑÐ´ÐµÑ Ð¼ÐµÐ½ÐµÐµ знаÑиÑелÑнÑм, но ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ¾Ð¿Ð¸Ð¸ бÑÐ´ÐµÑ Ð²ÑÑ Ð¶Ðµ менÑÑе.ÐопиÑование изменений. Ð Ñежиме
PTRACKPostgres Pro оÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°ÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑÑÑÐ°Ð½Ð¸Ñ Ð½Ð° леÑÑ. ЧÑÐ¾Ð±Ñ Ð¾Ð½ ÑабоÑал, не ÑÑебÑеÑÑÑ Ð¿ÑоизводиÑÑ Ð½ÐµÐ¿ÑеÑÑвное аÑÑ Ð¸Ð²Ð¸Ñование WAL. ÐÑи каждом изменении ÑÑÑаниÑÑ Ð¾ÑноÑÐµÐ½Ð¸Ñ Ð¾Ð½Ð° помеÑаеÑÑÑ Ð² ÑпеÑиалÑной каÑÑеPTRACK. ÐÑо оÑÑлеживание пÑивноÑÐ¸Ñ Ð½ÐµÐ±Ð¾Ð»ÑÑие издеÑжки в ÑабоÑÑ ÑеÑвеÑа, но знаÑиÑелÑно ÑÑкоÑÑÐµÑ Ð¸Ð½ÐºÑеменÑалÑное ÑезеÑвное копиÑование.
pg_probackup Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоизводиÑÑ ÐºÐ¾Ð¿Ð¸Ñование ÑолÑко ÑабоÑаÑÑего ÑкземплÑÑа, а Ð´Ð»Ñ Ð¾Ð±ÐµÑпеÑÐµÐ½Ð¸Ñ ÑелоÑÑноÑÑи ÑÐ°ÐºÐ¸Ñ ÐºÐ¾Ð¿Ð¸Ð¹ ÑÑебÑеÑÑÑ ÐºÐ¾Ð¿Ð¸ÑоваÑÑ WAL. ÐоÑÑÐ¾Ð¼Ñ Ð²Ð½Ðµ завиÑимоÑÑи Ð¾Ñ Ð²ÑбÑанного Ñежима копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ (FULL, PAGE или DELTA), ÑÑÐ¾Ð±Ñ pg_probackup мог полÑÑиÑÑ Ð¿Ð¾Ð»Ð½Ð¾ÑеннÑÑ ÐºÐ¾Ð¿Ð¸Ñ, нÑжно вÑбÑаÑÑ Ð¾Ð´Ð¸Ð½ из ÑледÑÑÑÐ¸Ñ Ñежимов доÑÑавки WAL:
ARCHIVE. Ð Ñаком Ñежиме ÑелоÑÑноÑÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ обеÑпеÑиваеÑÑÑ Ð¿Ð¾ÑÑедÑÑвом непÑеÑÑвного аÑÑ Ð¸Ð²Ð¸ÑованиÑ. ÐÑо Ñежим доÑÑавки WAL по ÑмолÑаниÑ.
STREAM. Такие ÑезеÑвнÑе копии вклÑÑаÑÑ Ð²Ñе ÑайлÑ, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑелоÑÑного ÑоÑÑоÑÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа на Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸. Ðне завиÑимоÑÑи Ð¾Ñ Ñого, оÑÑÑеÑÑвлÑеÑÑÑ Ð»Ð¸ непÑеÑÑвное аÑÑ Ð¸Ð²Ð¸Ñование, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑегменÑÑ WAL ÑÑиÑÑваÑÑÑÑ Ð¿Ð¾ пÑоÑÐ¾ÐºÐ¾Ð»Ñ Ð¿Ð¾Ñоковой ÑепликаÑии во вÑÐµÐ¼Ñ ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ вклÑÑаÑÑÑÑ Ð² ÑоÑÑав ÑезеÑвной копии. ÐоÑÑÐ¾Ð¼Ñ Ñакие ÑезеÑвнÑе копии назÑваÑÑÑÑ Ð°Ð²ÑономнÑми или ÑамодоÑÑаÑоÑнÑми.
ÐгÑаниÑениÑ
РнаÑÑоÑÑее вÑÐµÐ¼Ñ pg_probackup Ð¸Ð¼ÐµÐµÑ ÑледÑÑÑие огÑаниÑениÑ:
Режим ÑдалÑнного ÑеÑвеÑа на плаÑÑоÑме Windows не поддеÑживаеÑÑÑ.
Ð Unix-ÑиÑÑÐµÐ¼Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð±Ð°Ð·Ñ Postgres Pro веÑÑии 11 можно ÑделаÑÑ ÑолÑко Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ Ñого полÑзоваÑелÑ, коÑоÑÑй запÑÑÐºÐ°ÐµÑ ÑеÑÐ²ÐµÑ Postgres Pro. ÐапÑимеÑ, еÑли ÑеÑÐ²ÐµÑ Postgres Pro запÑÑÐºÐ°ÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑ
postgres, командÑbackupÑакже должен вÑполнÑÑÑ Ð¿Ð¾Ð»ÑзоваÑелÑpostgres. ÐÐ»Ñ ÑдовлеÑвоÑÐµÐ½Ð¸Ñ ÑÑого ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑлÑÑае иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑдалÑнного Ñежима и SSH в паÑамеÑÑе--remote-userÐ½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пеÑедаÑÑpostgres.Ðа ÑеÑвеÑе Postgres Pro, где бÑла Ñделана копиÑ, и на ÑеÑвеÑе, где она бÑÐ´ÐµÑ Ð²Ð¾ÑÑÑанавливаÑÑÑÑ, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñе знаÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑов block_size и wal_block_size и Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð°Ñ Ð¾ÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð²ÐµÑÑиÑ. РзавиÑимоÑÑи Ð¾Ñ ÐºÐ¾Ð½ÑигÑÑаÑии клаÑÑеÑа, Postgres Pro Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°ÐºÐ»Ð°Ð´ÑваÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе огÑаниÑениÑ, напÑимеÑ, по аÑÑ Ð¸ÑекÑÑÑе пÑоÑеÑÑоÑа и веÑÑии libc/icu.
ÐÑÑÑÑÑй запÑÑк
ЧÑÐ¾Ð±Ñ Ð±ÑÑÑÑо наÑаÑÑ ÑабоÑÑ Ñ pg_probackup, вÑполниÑе ÑледÑÑÑие дейÑÑвиÑ. ÐÑо Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸Ñ Ð½Ð°ÑÑÑоиÑÑ ÑезеÑвное копиÑование ÑдалÑнно в ÑÐµÐ¶Ð¸Ð¼Ð°Ñ FULL и DELTA и ÑвидеÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе базовÑе опеÑаÑии pg_probackup. Ðалее иÑполÑзÑÑÑÑÑ ÑледÑÑÑие обознаÑениÑ:
backupâ ÑÐ¾Ð»Ñ Ð² Postgres Pro, иÑполÑзÑÐµÐ¼Ð°Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº клаÑÑеÑÑ Postgres Pro.backupdbâ база даннÑÑ , ÑеÑез коÑоÑÑÑ Ð²ÑполнÑеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение к клаÑÑеÑÑ Postgres Pro.backup_hostâ ÑиÑÑема, где Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ ÐºÐ°Ñалог ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.backup_userâ полÑзоваÑÐµÐ»Ñ Ð² ÑиÑÑемеbackup_host, Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ коÑоÑого вÑполнÑÑÑÑÑ Ð²Ñе опеÑаÑии pg_probackup./mnt/backupsâ пÑÑÑ Ðº каÑÐ°Ð»Ð¾Ð³Ñ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ в ÑиÑÑемеbackup_host.postgres_hostâ ÑиÑÑема, в коÑоÑой ÑабоÑÐ°ÐµÑ Postgres Pro.postgresâ полÑзоваÑÐµÐ»Ñ Ð² ÑиÑÑемеpostgres_host, Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ коÑоÑого запÑÑкаÑÑÑÑ Ð¿ÑоÑеÑÑÑ ÐºÐ»Ð°ÑÑеÑа Postgres Pro./var/lib/pgpro/std-16/dataâ пÑÑÑ Ðº каÑÐ°Ð»Ð¾Ð³Ñ Ð´Ð°Ð½Ð½ÑÑ Postgres Pro в ÑиÑÑемеpostgres_host.
ÐÑполниÑе ÑледÑÑÑие Ñаги:
УÑÑановиÑе pg_probackup в Ð¾Ð±ÐµÐ¸Ñ ÑиÑÑÐµÐ¼Ð°Ñ :
backup_host(ÑеÑÐ²ÐµÑ ÑезеÑвного копиÑованиÑ) иpostgres_host(ÑеÑÐ²ÐµÑ Ð±Ð°Ð· даннÑÑ ).ÐаÑÑÑойÑе подклÑÑение ÑеÑез SSH Ñ
backup_hostкpostgres_host:ÐаÑÑÑойÑе клаÑÑÐµÑ Ð±Ð°Ð· даннÑÑ Ð´Ð»Ñ ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² Ñежиме STREAM.
ÐÑоиниÑиализиÑÑйÑе каÑалог ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹:
backup_user@backup_host:~$ pg_probackup init -B /mnt/backups INFO: Backup catalog '/mnt/backups' successfully initialized
ÐобавÑÑе ÑкземплÑÑ Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼
mydbв каÑалог ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹:backup_user@backup_host:~$ pg_probackup add-instance \ -B /mnt/backups \ -D /var/lib/pgpro/std-16/data \ --instance=node \ --remote-host=postgres_host \ --remote-user=postgres INFO: Instance 'node' successfully initializedСделайÑе полнÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ:
backup_user@backup_host:~$ pg_probackup backup \ -B /mnt/backups \ -b FULL \ --instance=node \ --stream \ --compress-algorithm=zstd \ --remote-host=postgres_host \ --remote-user=postgres \ -U backup \ -d backupdb INFO: Backup start, pg_probackup version: 2.7.3, instance: node, backup ID: SBOL6J, backup mode: FULL, wal mode: STREAM, remote: true, compress-algorithm: zstd, compress-level: 1 WARNING: pgpro_edition() function is old-style and will be removed in future major release, use pgpro_edition GUC variable instead. INFO: This PostgreSQL instance was initialized with data block checksums. Data block corruption will be detected INFO: Database backup start INFO: wait for pg_backup_start() INFO: PGDATA size: 96MB INFO: Current Start LSN: 0/8000028, TLI: 1 INFO: Start transferring data files INFO: Data files are transferred, time elapsed: 2s INFO: wait for pg_stop_backup() INFO: pg_stop_backup() successfully executed INFO: stop_stream_lsn 0/9000000 currentpos 0/9000000 INFO: backup->stop_lsn 0/8004E40 INFO: Getting the Recovery Time from WAL INFO: Syncing backup files to disk INFO: Backup files are synced, time elapsed: 1s INFO: Validating backup SBOL6J INFO: Backup SBOL6J data files are valid INFO: Backup SBOL6J resident size: 53MB INFO: Backup SBOL6J completedÐÑведиÑе ÑпиÑок ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ ÑкземплÑÑа:
backup_user@backup_host:~$ pg_probackup show \ -B /mnt/backups \ --instance=node ============================================================================================================================================= Instance Version ID Recovery Time Mode WAL Mode TLI Time Data WAL Zalg Zratio Start LSN Stop LSN Status ============================================================================================================================================= node 17 SBOL6J 2024-04-09 18:18:21.970314+03 FULL STREAM 1/0 4s 37MB 16MB zstd 2.57 0/8000028 0/8004E40 OKСделайÑе инкÑеменÑалÑнÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð² Ñежиме DELTA:
backup_user@backup_host:~$ pg_probackup backup \ -B /mnt/backups \ -b DELTA \ --instance=node \ --stream \ --compress-algorithm=zstd \ --remote-host=postgres_host \ --remote-user=postgres \ -U backup \ -d backupdb INFO: Backup start, pg_probackup version: 2.7.3, instance: node, backup ID: SBOL6N, backup mode: DELTA, wal mode: STREAM, remote: true, compress-algorithm: zstd, compress-level: 1 WARNING: pgpro_edition() function is old-style and will be removed in future major release, use pgpro_edition GUC variable instead. INFO: This PostgreSQL instance was initialized with data block checksums. Data block corruption will be detected INFO: Database backup start INFO: wait for pg_backup_start() INFO: Parent backup: SBOL6J INFO: PGDATA size: 96MB INFO: Current Start LSN: 0/9000028, TLI: 1 INFO: Parent Start LSN: 0/8000028, TLI: 1 INFO: Start transferring data files INFO: Data files are transferred, time elapsed: 1s INFO: wait for pg_stop_backup() INFO: pg_stop_backup() successfully executed INFO: stop_stream_lsn 0/A000000 currentpos 0/A000000 INFO: backup->stop_lsn 0/9000190 INFO: Getting the Recovery Time from WAL INFO: Syncing backup files to disk INFO: Backup files are synced, time elapsed: 0 INFO: Validating backup SBOL6N INFO: Backup SBOL6N data files are valid INFO: Backup SBOL6N resident size: 17MB INFO: Backup SBOL6N completedÐобавÑÑе или измениÑе неÑколÑко паÑамеÑÑов в Ñайле конÑигÑÑаÑии pg_probackup, ÑÑÐ¾Ð±Ñ Ð¸Ñ Ð½Ðµ надо бÑло каждÑй Ñаз ÑказÑваÑÑ Ð² командной ÑÑÑоке:
backup_user@backup_host:~$ pg_probackup set-config \ -B /mnt/backups \ --instance=node \ --remote-host=postgres_host \ --remote-user=postgres \ -U backup \ -d backupdbÐÑовеÑÑÑе конÑигÑÑаÑÐ¸Ñ ÑкземплÑÑа:
backup_user@backup_host:~$ pg_probackup show-config \ -B /mnt/backups \ --instance=node # Backup instance information pgdata = /var/lib/pgpro/std-16/data system-identifier = 7355886958826772732 xlog-seg-size = 16777216 # Connection parameters pgdatabase = backupdb pghost = postgres_host pguser = backup # Archive parameters archive-timeout = 5min # Logging parameters log-level-console = INFO log-level-file = OFF log-format-console = PLAIN log-format-file = PLAIN log-filename = pg_probackup.log log-rotation-size = 0TB log-rotation-age = 0d # Retention parameters retention-redundancy = 0 retention-window = 0 wal-depth = 0 # Compression parameters compress-algorithm = none compress-level = 1 # Remote access parameters remote-proto = ssh remote-host = postgres_host remote-user = postgresÐбÑаÑиÑе внимание, ÑÑо паÑамеÑÑÑ, не изменÑннÑе командой
set-config, ÑÐ¾Ñ ÑанÑÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ.СделайÑе еÑÑ Ð¾Ð´Ð½Ñ Ð¸Ð½ÐºÑеменÑалÑнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð² Ñежиме DELTA, опÑÑÑив паÑамеÑÑÑ, Ñанее ÑÐ¾Ñ ÑанÑннÑе в Ñайле конÑигÑÑаÑии:
backup_user@backup_host:~$ pg_probackup backup \ -B /mnt/backups \ -b DELTA \ --instance=node \ --stream \ --compress-algorithm=zstd INFO: Backup start, pg_probackup version: 2.7.3, instance: node, backup ID: SBOL6P, backup mode: DELTA, wal mode: STREAM, remote: true, compress-algorithm: zstd, compress-level: 1 WARNING: pgpro_edition() function is old-style and will be removed in future major release, use pgpro_edition GUC variable instead. INFO: This PostgreSQL instance was initialized with data block checksums. Data block corruption will be detected INFO: Database backup start INFO: wait for pg_backup_start() INFO: Parent backup: SBOL6N INFO: PGDATA size: 96MB INFO: Current Start LSN: 0/A000028, TLI: 1 INFO: Parent Start LSN: 0/9000028, TLI: 1 INFO: Start transferring data files INFO: Data files are transferred, time elapsed: 1s INFO: wait for pg_stop_backup() INFO: pg_stop_backup() successfully executed INFO: stop_stream_lsn 0/B000000 currentpos 0/B000000 INFO: backup->stop_lsn 0/A000190 INFO: Getting the Recovery Time from WAL INFO: Syncing backup files to disk INFO: Backup files are synced, time elapsed: 0 INFO: Validating backup SBOL6P INFO: Backup SBOL6P data files are valid INFO: Backup SBOL6P resident size: 17MB INFO: Backup SBOL6P completedÐÐ½Ð¾Ð²Ñ Ð²ÑведиÑе ÑпиÑок ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ ÑкземплÑÑа:
backup_user@backup_host:~$ pg_probackup show \ -B /mnt/backups \ --instance=node ================================================================================================================================================ Instance Version ID Recovery Time Mode WAL Mode TLI Time Data WAL Zalg Zratio Start LSN Stop LSN Status ================================================================================================================================================ node 17 SBOL6P 2024-04-09 18:18:26.630175+03 DELTA STREAM 1/1 1s 1147kB 16MB zstd 1.00 0/A000028 0/A000190 OK node 17 SBOL6N 2024-04-09 18:18:25.015713+03 DELTA STREAM 1/1 2s 1160kB 16MB zstd 1.04 0/9000028 0/9000190 OK node 17 SBOL6J 2024-04-09 18:18:21.970314+03 FULL STREAM 1/0 4s 37MB 16MB zstd 2.57 0/8000028 0/8004E40 OKÐоÑÑÑановиÑе даннÑе из поÑледней доÑÑÑпной копии в пÑоизволÑнÑй каÑалог:
backup_user@backup_host:~$ pg_probackup restore \ -B /mnt/backups \ -D /var/lib/pgpro/std-16/staging-data \ --instance=node INFO: Validating parents for backup SBOL6P INFO: Validating backup SBOL6J INFO: Backup SBOL6J data files are valid INFO: Validating backup SBOL6N INFO: Backup SBOL6N data files are valid INFO: Validating backup SBOL6P INFO: Backup SBOL6P data files are valid INFO: Backup SBOL6P WAL segments are valid INFO: Backup SBOL6P is valid. INFO: Restoring the database from the backup starting at 2024-04-09 18:18:25+03 on localhost INFO: Start restoring backup files. PGDATA size: 112MB INFO: Backup files are restored. Transferred bytes: 112MB, time elapsed: 2s INFO: Restore incremental ratio (less is better): 100% (112MB/112MB) INFO: Syncing restored files to disk INFO: Restored backup files are synced, time elapsed: 1s INFO: Restore of backup SBOL6P completed.
УÑÑановка и подгоÑовка
УÑÑановив pg_probackup, вÑполниÑе ÑледÑÑÑие дейÑÑвиÑ:
ÐниÑиализиÑÑйÑе каÑалог ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.
ÐобавÑÑе копиÑÑемÑй ÑкземплÑÑ Ð² каÑалог копий.
ÐаÑÑÑойÑе клаÑÑÐµÑ Ð±Ð°Ð· даннÑÑ Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ pg_probackup.
ÐаÑÑÑойÑе SSH Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑаÑий pg_probackup в ÑдалÑнном Ñежиме, еÑли Ð²Ñ Ð¿Ð»Ð°Ð½Ð¸ÑÑеÑе его иÑполÑзоваÑÑ.
ÐниÑиализаÑÐ¸Ñ ÐºÐ°Ñалога ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹
pg_probackup ÑÐ¾Ñ ÑанÑÐµÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ ÐºÐ¾Ð¿Ð¸ÑÑемÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸ WAL в ÑооÑвеÑÑÑвÑÑÐ¸Ñ Ð¿Ð¾Ð´ÐºÐ°ÑÐ°Ð»Ð¾Ð³Ð°Ñ ÐºÐ°Ñалога ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.
ÐÐ»Ñ Ð¸Ð½Ð¸ÑиализаÑии каÑалога ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ вÑполниÑе командÑ:
pg_probackup init -B каÑалог_копийздеÑÑ ÐºÐ°Ñалог_копий â ÑÑо каÑалог, пÑедназнаÑеннÑй Ð´Ð»Ñ ÑезеÑвнÑÑ
копий. ÐÑли каÑалог_копий Ñже ÑÑÑеÑÑвÑеÑ, он должен бÑÑÑ Ð¿ÑÑÑÑм. РпÑоÑивном ÑлÑÑае pg_probackup вÑдаÑÑ Ð¾ÑибкÑ.
ÐолÑзоваÑелÑ, запÑÑкаÑÑий pg_probackup, должен имеÑÑ Ð¿Ð¾Ð»Ð½Ñй доÑÑÑп к каÑалогÑ_копий.
pg_probackup ÑоздаÑÑ ÐºÐ°Ñалог_копий Ñо ÑледÑÑÑими подкаÑалогами:
wal/â каÑалог Ð´Ð»Ñ Ñайлов WAL.backups/â каÑалог Ð´Ð»Ñ Ñайлов ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.
ÐÑоиниÑиализиÑовав каÑалог ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе добавиÑÑ Ð¾Ð¿Ñеделение копиÑÑемого ÑкземплÑÑа.
ÐпÑеделение копиÑÑемого ÑкземплÑÑа
pg_probackup Ð¼Ð¾Ð¶ÐµÑ ÑÐ¾Ñ ÑанÑÑÑ ÑезеÑвнÑе копии ÑазнÑÑ ÐºÐ»Ð°ÑÑеÑов баз даннÑÑ Ð² одном каÑалоге ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹. ÐÐ»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð¿Ð¾Ð´ÐºÐ°Ñалогов Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¾Ð¿ÑеделиÑÑ ÐºÐ¾Ð¿Ð¸ÑÑемÑй ÑкземплÑÑ Ð² каÑалоге копий Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ клаÑÑеÑа баз даннÑÑ , ÐºÐ¾Ð¿Ð¸Ñ ÐºÐ¾ÑоÑого Ð²Ñ Ð±ÑдеÑе делаÑÑ.
ÐÐ»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸ÑÑемого ÑкземплÑÑа вÑполниÑе командÑ:
pg_probackup add-instance -BкаÑалог_копий-DкаÑалог_даннÑÑ--instance=имÑ_ÑкземплÑÑа[паÑамеÑÑÑ_ÑдалÑнного_Ñежима]
ÐдеÑÑ:
каÑалог_даннÑÑâ каÑалог, ÑодеÑжаÑий даннÑе клаÑÑеÑа, ÐºÐ¾Ð¿Ð¸Ñ ÐºÐ¾ÑоÑого Ð²Ñ Ñ Ð¾ÑиÑе ÑделаÑÑ. ÐÐ»Ñ Ð¿Ð¾Ð´Ð³Ð¾Ñовки и иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ pg_probackup Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ имеÑÑ Ð¿Ñаво запиÑи в ÑÑÐ¾Ñ ÐºÐ°Ñалог.имÑ_ÑкземплÑÑаâ ÑÑо Ð¸Ð¼Ñ Ð¿Ð¾Ð´ÐºÐ°Ñалогов, в коÑоÑÑÑ Ð±ÑдÑÑ Ñ ÑаниÑÑÑÑ ÑÐ°Ð¹Ð»Ñ ÐºÐ¾Ð¿Ð¸ÑÑемÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸ WAL Ð´Ð»Ñ ÑÑого клаÑÑеÑа.паÑамеÑÑÑ_ÑдалÑнного_Ñежима Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑно, еÑли
каÑалог_даннÑÑÑаÑполагаеÑÑÑ ÑдалÑнно.
pg_probackup ÑоздаÑÑ Ð¿Ð¾Ð´ÐºÐ°Ñалоги имÑ_ÑкземплÑÑа в каÑалогаÑ
backups/ и wal/ внÑÑÑи каÑалога ÑезеÑвнÑÑ
копий. ÐаÑалог backups/ ÑодеÑÐ¶Ð¸Ñ Ñайл конÑигÑÑаÑии имÑ_ÑкземплÑÑаpg_probackup.conf Ñ Ð¿Ð°ÑамеÑÑами pg_probackup, оÑноÑÑÑимиÑÑ Ðº Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ ÑкземплÑÑÑ ÐºÐ¾Ð¿Ð¸Ð¸. ÐÑли ÑÑой команде пеÑедаÑÑ Ð¿Ð°ÑамеÑÑÑ_ÑдалÑнного_Ñежима, они бÑдÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ Ð² pg_probackup.conf.
Ðолее подÑобно ÑÐ¾Ð½ÐºÐ°Ñ Ð½Ð°ÑÑÑойка pg_probackup опиÑÑваеÑÑÑ Ð² ÐодÑазделе «ÐаÑÑÑойка pg_probackup».
ÐолÑзоваÑелÑ, запÑÑкаÑÑий pg_probackup, должен имеÑÑ Ð¿Ð¾Ð»Ð½Ñй доÑÑÑп к каÑалогÑ_копий и как минимÑм доÑÑÑп на ÑÑение вÑего ÑодеÑжимого каÑалога_даннÑÑ
. ÐÑли Ð²Ñ Ð·Ð°Ð´Ð°Ð´Ð¸Ñе пÑÑÑ Ðº каÑÐ°Ð»Ð¾Ð³Ñ ÐºÐ¾Ð¿Ð¸Ð¹ в пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ BACKUP_PATH, ÑооÑвеÑÑÑвÑÑÑий паÑамеÑÑ Ð² командаÑ
pg_probackup можно не ÑказÑваÑÑ.
ÐÑимеÑание
ÐÐ»Ñ Postgres Pro веÑÑии 11 и новее ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ ÐоÑÑÑп гÑÑппÑ, ÑÑÐ¾Ð±Ñ Ð²ÑполниÑÑ ÐºÐ¾Ð¿Ð¸Ñование мог лÑбой полÑзоваÑÐµÐ»Ñ ÐС, вклÑÑÑннÑй в гÑÑÐ¿Ð¿Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑа клаÑÑеÑа. Ð ÑÑом ÑлÑÑае полÑзоваÑÐµÐ»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ имеÑÑ Ð¿Ñава на ÑÑение каÑалога клаÑÑеÑа.
ÐаÑÑÑойка клаÑÑеÑа баз даннÑÑ
ХоÑÑ pg_probackup можно иÑполÑзоваÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ ÑÑпеÑполÑзоваÑелÑ, ÑекомендÑеÑÑÑ ÑоздаÑÑ Ð¾ÑделÑнÑÑ ÑÐ¾Ð»Ñ Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑми пÑавами, необÑ
одимÑми Ð´Ð»Ñ Ð²ÑбÑанной ÑÑÑаÑегии копиÑованиÑ. Ð ÑÑиÑ
инÑÑÑÑкÑиÑÑ
по наÑÑÑойке Ñакой ÑолÑÑ ÑлÑÐ¶Ð¸Ñ ÑÐ¾Ð»Ñ backup.
Ðз ÑообÑажений безопаÑноÑÑи Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑледÑÑÑÐ¸Ñ ÐºÐ¾Ð½ÑигÑÑаÑионнÑÑ SQL-запÑоÑов ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ Ð¾ÑделÑнÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ .
postgres=# CREATE DATABASE backupdb; postgres=# \c backupdb
ÐÐ»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÐ¾Ð»Ñ backup должна имеÑÑ ÑледÑÑÑие ÑазÑеÑÐµÐ½Ð¸Ñ Ð½Ð° ÑеÑвеÑе Postgres Pro (ÑолÑко в базе даннÑÑ
, к коÑоÑой пÑоизводиÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение).
ÐÐ»Ñ Ð²ÐµÑÑий Postgres Pro 11 â 14:
BEGIN; CREATE ROLE backup WITH LOGIN; GRANT USAGE ON SCHEMA pg_catalog TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.current_setting(text) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.set_config(text, text, boolean) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_is_in_recovery() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_start_backup(text, boolean, boolean) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_stop_backup(boolean, boolean) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_create_restore_point(text) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_wal() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.txid_current() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_control_checkpoint() TO backup; COMMIT;
ÐÐ»Ñ Postgres Pro веÑÑии 15 или новее:
BEGIN; CREATE ROLE backup WITH LOGIN; GRANT USAGE ON SCHEMA pg_catalog TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.current_setting(text) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.set_config(text, text, boolean) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_is_in_recovery() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_backup_start(text, boolean) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_backup_stop(boolean) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_create_restore_point(text) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_switch_wal() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_last_wal_replay_lsn() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.txid_current() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.txid_current_snapshot() TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.txid_snapshot_xmax(txid_snapshot) TO backup; GRANT EXECUTE ON FUNCTION pg_catalog.pg_control_checkpoint() TO backup; COMMIT;
Ð Ñайле pg_hba.conf ÑазÑеÑиÑе подклÑÑение к клаÑÑеÑÑ Ð±Ð°Ð· даннÑÑ
полÑзоваÑÐµÐ»Ñ Ñ ÑолÑÑ backup.
ÐÑогÑамма pg_probackup должна ÑиÑаÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно ÑÐ°Ð¹Ð»Ñ ÐºÐ»Ð°ÑÑеÑа, поÑÑÐ¾Ð¼Ñ Ð·Ð°Ð¿ÑÑкаÑÑ pg_probackup (или подклÑÑаÑÑÑÑ Ðº Ð½ÐµÐ¼Ñ ÑдалÑнно) нÑжно Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ полÑзоваÑÐµÐ»Ñ ÐС, коÑоÑÑй Ð¸Ð¼ÐµÐµÑ Ð´Ð¾ÑÑÑп на ÑÑение вÑеÑ
Ñайлов и каÑалогов внÑÑÑи каÑалога даннÑÑ
клаÑÑеÑа (PGDATA), подлежаÑего копиÑованиÑ.
РзавиÑимоÑÑи Ð¾Ñ Ñого, бÑдеÑе ли Ð²Ñ Ð´ÐµÐ»Ð°ÑÑ ÑамодоÑÑаÑоÑнÑе или аÑÑ Ð¸Ð²Ð½Ñе копии, конÑигÑÑаÑÐ¸Ñ ÐºÐ»Ð°ÑÑеÑа Postgres Pro бÑÐ´ÐµÑ Ñазной (об оÑобенноÑÑÑÑ ÑаÑÑказÑваеÑÑÑ Ð½Ð¸Ð¶Ðµ). ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа баз даннÑÑ Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа, запÑÑÑиÑÑ pg_probackup в ÑдалÑнном Ñежиме или ÑоздаÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ PTRACK, ÑÑебÑеÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑÐ½Ð°Ñ Ð½Ð°ÑÑÑойка.
ÐодÑобнее об ÑÑом ÑаÑÑказÑваеÑÑÑ Ð² подÑÐ°Ð·Ð´ÐµÐ»Ð°Ñ ÐаÑÑÑойка поÑокового ÑезеÑвного копиÑованиÑ, ÐаÑÑÑойка непÑеÑÑвного аÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ WAL, ÐаÑÑÑойка копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ ÑезеÑвного ÑеÑвеÑа, ÐаÑÑÑойка ÑдалÑнного Ñежима, ÐаÑÑÑойка ÑаÑÑиÑного воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ ÐаÑÑÑойка копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ PTRACK.
ÐаÑÑÑойка поÑокового ÑезеÑвного копиÑованиÑ
ЧÑÐ¾Ð±Ñ Ð½Ð°ÑÑÑоиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð´Ð»Ñ Ð¿Ð¾Ñокового ÑезеÑвного копиÑованиÑ, вÑполниÑе ÑледÑÑÑие дейÑÑвиÑ:
ÐÑли ÑолÑ
backupне ÑÑÑеÑÑвÑеÑ, ÑоздайÑе ÐµÑ Ñ Ð¿ÑавомREPLICATIONпÑи ÐаÑÑÑойке клаÑÑеÑа Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ :CREATE ROLE backup WITH LOGIN REPLICATION;
ÐÑли ÑолÑ
backupÑже ÑÑÑеÑÑвÑеÑ, дайÑе ей пÑавоREPLICATION:ALTER ROLE backup WITH REPLICATION;
Ð Ñайле pg_hba.conf ÑазÑеÑиÑе вÑполнение ÑепликаÑии Ð´Ð»Ñ Ñоли
backup.УÑÑановиÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа max_wal_senders доÑÑаÑоÑно болÑÑое знаÑение, пÑедÑÑмаÑÑиваÑÑее минимÑм одно подклÑÑение Ð´Ð»Ñ Ð¿ÑоÑеÑÑа ÑезеÑвного копиÑованиÑ.
ÐадайÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа wal_level знаÑение вÑÑе
minimal.
ÐÑли Ð²Ñ Ð½Ð°Ð¼ÐµÑÐµÐ½Ñ Ð²ÑполнÑÑÑ ÑÑÑаниÑное ÑезеÑвное копиÑование в поÑоковом Ñежиме или воÑÑÑановление на Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени Ñ Ð¿Ð¾ÑоковÑми копиÑми, вам Ñем не менее надо бÑÐ´ÐµÑ Ð½Ð°ÑÑÑоиÑÑ Ð°ÑÑ Ð¸Ð²Ð¸Ñование WAL, как опиÑано в подÑазделе ÐаÑÑÑойка непÑеÑÑвного аÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ WAL.
ÐоÑле ÑÑÐ¸Ñ Ð¿Ð¾Ð´Ð³Ð¾ÑовиÑелÑнÑÑ Ð´ÐµÐ¹ÑÑвий Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе делаÑÑ ÑезеÑвнÑе копии в ÑÐµÐ¶Ð¸Ð¼Ð°Ñ FULL, PAGE, DELTA и PTRACK, иÑполÑзÑÑ Ð¿Ð¾ÑоковÑÑ Ð´Ð¾ÑÑÐ°Ð²ÐºÑ WAL.
ÐÑимеÑание
ÐÑли Ð²Ñ Ð½Ð°Ð¼ÐµÑÐµÐ½Ñ Ð¸ÑполÑзоваÑÑ .pgpass Ð´Ð»Ñ Ð¿ÑоÑ
Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð°ÑÑенÑиÑикаÑии пÑи вÑполнении копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² поÑоковом Ñежиме, Ñайл .pgpass должен ÑодеÑжаÑÑ ÑÑÑÑнÑе даннÑе Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº базе даннÑÑ
replication. ÐапÑимеÑ: pghost:5432:replication:backup_user:my_strong_password
ÐаÑÑÑойка непÑеÑÑвного аÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ WAL
ÐÐ»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² Ñежиме PAGE, воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени и ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ Ñ Ð¸ÑполÑзованием Ñежима доÑÑавки WAL ARCHIVE должно оÑÑÑеÑÑвлÑÑÑÑÑ Ð½ÐµÐ¿ÑеÑÑвное аÑÑ Ð¸Ð²Ð¸Ñование WAL. ЧÑÐ¾Ð±Ñ Ð½Ð°ÑÑÑоиÑÑ Ð½ÐµÐ¿ÑеÑÑвное аÑÑ Ð¸Ð²Ð¸Ñование, вÑполниÑе ÑледÑÑÑие дейÑÑвиÑ:
ÐадайÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа wal_level знаÑение вÑÑе
minimal.ÐÑли Ð²Ñ Ð½Ð°ÑÑÑаиваеÑе ÑезеÑвное копиÑование на ведÑÑем ÑеÑвеÑе, паÑамеÑÑ archive_mode должен имеÑÑ Ð·Ð½Ð°Ñение
onилиalways. ÐÐ»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð° ведомом ÑÑебÑеÑÑÑ Ð·Ð½Ð°Ñениеalways.УÑÑановиÑе паÑамеÑÑ archive_command:
archive_command = '"
пÑÑÑ_инÑÑаллÑÑии/pg_probackup" archive-push -B "каÑалог_копий" --instance=имÑ_ÑкземплÑÑа--wal-file-name=%f [паÑамеÑÑÑ_ÑдалÑнного_Ñежима]'
ÐдеÑÑ Ð¿ÑÑÑ_инÑÑаллÑÑии â пÑÑÑ Ðº каÑÐ°Ð»Ð¾Ð³Ñ ÑÑÑановленной веÑÑии pg_probackup, коÑоÑÑÑ Ð²Ñ Ñ
оÑиÑе иÑполÑзоваÑÑ, каÑалог_копий и имÑ_ÑкземплÑÑа Ð´Ð¾Ð»Ð¶Ð½Ñ ÑказÑваÑÑ Ð½Ð° Ñже пÑоиниÑиализиÑованнÑй Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ клаÑÑеÑа ÐРкопиÑÑемÑй ÑкземплÑÑ, а паÑамеÑÑÑ_ÑдалÑнного_Ñежима Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ ÑолÑко в ÑлÑÑае ÑаÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð°ÑÑ
ива WAL в ÑдалÑнной ÑиÑÑеме. ÐодÑобнее вÑе возможнÑе паÑамеÑÑÑ archive-push ÑаÑÑмаÑÑиваÑÑÑÑ Ð² опиÑании archive-push.
ÐоÑле ÑÑÐ¸Ñ Ð¿Ð¾Ð´Ð³Ð¾ÑовиÑелÑнÑÑ Ð´ÐµÐ¹ÑÑвий Ð²Ñ ÑможеÑе иÑполÑзоваÑÑ Ñежим доÑÑавки WAL ARCHIVE и делаÑÑ ÑезеÑвнÑе копии в Ñежиме PAGE, а Ñакже вÑполнÑÑÑ Ð²Ð¾ÑÑÑановление на Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени.
ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑоÑмоÑÑеÑÑ ÑекÑÑее ÑоÑÑоÑние аÑÑ Ð¸Ð²Ð° WAL, воÑполÑзовавÑиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ show. Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑÐ°Ð·Ð´ÐµÐ»Ñ Â«ÐÑоÑмоÑÑ Ð¾Ð³Ð»Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð°ÑÑ Ð¸Ð²Ð° WAL».
ÐÑли Ð²Ñ Ð¿Ð»Ð°Ð½Ð¸ÑÑеÑе вÑполнÑÑÑ ÑÑÑаниÑное копиÑование и/или делаÑÑ ÐºÐ¾Ð¿Ð¸Ð¸ Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа, иÑполÑзÑÑ Ñежим доÑÑавки WAL ARCHIVE, пÑи недоÑÑаÑоÑной ÑÑанзакÑионной акÑивноÑÑи Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð´Ð¾Ð»Ð³Ð¾ ждаÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾ÑеÑедного ÑегменÑа WAL. ЧÑÐ¾Ð±Ñ Ð¾Ð³ÑаниÑиÑÑ Ð²ÑÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе воÑполÑзоваÑÑÑÑ Ð¿Ð°ÑамеÑÑом Postgres Pro archive_timeout на ведÑÑем ÑеÑвеÑе. ÐнаÑение ÑÑого паÑамеÑÑа должно бÑÑÑ Ð¼ÐµÐ½ÑÑе знаÑÐµÐ½Ð¸Ñ --archive-timeout (по ÑмолÑÐ°Ð½Ð¸Ñ 5 минÑÑ), ÑÑÐ¾Ð±Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð½Ñй ÑÐµÐ³Ð¼ÐµÐ½Ñ ÑÑпел пеÑедаÑÑÑÑ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð¼Ñ ÑеÑвеÑÑ Ð¸ попаÑÑÑ Ð² аÑÑ
ив WAL, пÑежде Ñем копиÑование пÑеÑвÑÑÑÑ Ð¿Ð¾ Ñайм-аÑÑÑ, Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ Ð¿Ð°ÑамеÑÑом --archive-timeout.
ÐÑимеÑание
ÐмеÑÑо иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ pg_probackup archive-push Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе воÑполÑзоваÑÑÑÑ Ð»ÑбÑм дÑÑгим ÑÑедÑÑвом, пÑи ÑÑловии, ÑÑо в пÑоÑеÑÑе непÑеÑÑвного аÑÑ
ивиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑегменÑÑ WAL бÑдÑÑ Ð¿Ð¾Ð¿Ð°Ð´Ð°ÑÑ Ð² каÑалог . ÐÐ»Ñ ÑжаÑÐ¸Ñ ÑегменÑов, еÑли в нÑм еÑÑÑ Ð¿Ð¾ÑÑебноÑÑÑ, должен иÑполÑзоваÑÑÑÑ Ð°Ð»Ð³Ð¾ÑиÑм каÑалог_копий/wal/имÑ_ÑкземплÑÑаgzip, а ÑжаÑÑе ÑÐ°Ð¹Ð»Ñ ÑегменÑов Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ ÑаÑÑиÑение .gz.
ÐÑимеÑание
ÐÑганизоваÑÑ Ð½ÐµÐ¿ÑеÑÑвное аÑÑ
ивиÑование можно не ÑолÑко Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿Ð°ÑамеÑÑов archive_mode и archive_command, но и пÑименÑÑ ÑÑилиÑÑ pg_receivewal. Ð ÑÑом ÑлÑÑае аÑгÑÐ¼ÐµÐ½Ñ pg_receivewal -D должен ÑказÑваÑÑ Ð½Ð° каÑалог каÑалог. ÐÑогÑамма pg_probackup пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑжаÑÑе WAL, коÑоÑÑе Ð¼Ð¾Ð¶ÐµÑ ÑоÑ
ÑанÑÑÑ pg_receivewal. СÑÑаÑÐµÐ³Ð¸Ñ Ð°ÑÑ
ивиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Â«Ð±ÐµÐ· поÑеÑÑ» можно ÑеализоваÑÑ ÑолÑко Ñ Ð¸ÑполÑзованием pg_receivewal.каÑалог_копий/wal/имÑ_ÑкземплÑÑа
ÐаÑÑÑойка копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа
УÑилиÑа pg_probackup Ð¼Ð¾Ð¶ÐµÑ ÐºÐ¾Ð¿Ð¸ÑоваÑÑ Ð´Ð°Ð½Ð½Ñе Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа. ÐÐ»Ñ ÑÑого ÑÑебÑеÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑÐ½Ð°Ñ Ð½Ð°ÑÑÑойка:
УÑÑановиÑе на ведомом ÑеÑвеÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа hot_standby знаÑение
on.Ðа ведÑÑем ÑеÑвеÑе ÑÑÑановиÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа full_page_writes знаÑение
on.ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑамодоÑÑаÑоÑнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа вÑполниÑе дейÑÑвиÑ, опиÑаннÑе в подÑазделе ÐаÑÑÑойка поÑокового копиÑованиÑ.
ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð°ÑÑ Ð¸Ð²Ð½ÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа вÑполниÑе дейÑÑвиÑ, опиÑаннÑе в подÑазделе ÐаÑÑÑойка непÑеÑÑвного аÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ WAL.
ÐоÑле ÑÑÐ¸Ñ Ð¿Ð¾Ð´Ð³Ð¾ÑовиÑелÑнÑÑ Ð´ÐµÐ¹ÑÑвий Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе делаÑÑ ÑезеÑвнÑе копии Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа в ÑÐµÐ¶Ð¸Ð¼Ð°Ñ FULL, PAGE, DELTA или PTRACK, иÑполÑзÑÑ Ñежим доÑÑавки WAL ARCHIVE или STREAM.
ÐопиÑование Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа Ð¸Ð¼ÐµÐµÑ ÑледÑÑÑие огÑаниÑениÑ:
ÐÑли ведомÑй ÑеÑÐ²ÐµÑ Ð¿Ð¾Ð²ÑÑаеÑÑÑ Ð´Ð¾ ведÑÑего во вÑÐµÐ¼Ñ ÐºÐ¾Ð¿Ð¸ÑованиÑ, копиÑование пÑеÑÑваеÑÑÑ Ñ Ð¾Ñибкой.
ÐÑе Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ ÑезеÑвной копии запиÑи WAL Ð´Ð¾Ð»Ð¶Ð½Ñ ÑодеÑжаÑÑ Ð¿Ð¾Ð»Ð½Ñе ÑÑÑаниÑÑ. ÐÐ»Ñ ÑÑого ÑÑебÑеÑÑÑ Ð²ÐºÐ»ÑÑиÑÑ Ñежим
full_page_writesна ведÑÑем ÑеÑвеÑе и оÑказаÑÑÑÑ Ð¾Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² archive_command ÑÑилиÑ, ÑдалÑÑÑÐ¸Ñ Ð¿Ð¾Ð»Ð½Ñе ÑÑÑаниÑÑ Ð¸Ð· Ñайлов WAL, как, напÑимеÑ, pg_compresslog.
ÐаÑÑÑойка пÑовеÑки ÑелоÑÑноÑÑи клаÑÑеÑа
ÐÐ»Ñ Ð»Ð¾Ð³Ð¸ÑеÑкой пÑовеÑки клаÑÑеÑа ÐÐ ÑÑебÑеÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑÐ½Ð°Ñ Ð½Ð°ÑÑÑойка (пÑедполагаеÑÑÑ, ÑÑо наÑÑÑойка пÑоизводиÑÑÑ Ð´Ð»Ñ Ñоли backup):
УÑÑановиÑе ÑаÑÑиÑение amcheck или amcheck_next в каждой базе клаÑÑеÑа:
CREATE EXTENSION amcheck;
ÐайÑе Ñоли
backupв каждой базе даннÑÑ ÐºÐ»Ð°ÑÑеÑа ÑледÑÑÑие пÑава:
GRANT SELECT ON TABLE pg_catalog.pg_am TO backup; GRANT SELECT ON TABLE pg_catalog.pg_class TO backup; GRANT SELECT ON TABLE pg_catalog.pg_database TO backup; GRANT SELECT ON TABLE pg_catalog.pg_namespace TO backup; GRANT SELECT ON TABLE pg_catalog.pg_extension TO backup; GRANT EXECUTE ON FUNCTION bt_index_check(regclass) TO backup; GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool) TO backup; GRANT EXECUTE ON FUNCTION bt_index_check(regclass, bool, bool) TO backup;
ÐаÑÑÑойка ÑаÑÑиÑного воÑÑÑановлениÑ
ÐÑли Ð²Ñ Ð¿Ð»Ð°Ð½Ð¸ÑÑеÑе пÑоизводиÑÑ ÑаÑÑиÑное воÑÑÑановление, вÑполниÑе ÑледÑÑÑее дополниÑелÑное дейÑÑвие:
ÐайÑе пÑаво на ÑÑение
pg_catalog.pg_databaseÑолиbackupв Ñой базе даннÑÑ , ÑеÑез коÑоÑÑÑ Ð²ÑполнÑеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение к ÑеÑвеÑÑ Postgres Pro:GRANT SELECT ON TABLE pg_catalog.pg_database TO backup;
ÐаÑÑÑойка ÑдалÑнного Ñежима
ÐÑогÑамма pg_probackup поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑдалÑннÑй Ñежим, в коÑоÑом ÑезеÑвное копиÑование, воÑÑÑановление и аÑÑ Ð¸Ð²Ð¸Ñование WAL могÑÑ Ð²ÑполнÑÑÑÑÑ ÑдалÑнно. Ð ÑÑом Ñежиме каÑалог ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² локалÑной ÑиÑÑеме, а Ñелевой ÑкземплÑÑ Postgres Pro ÑабоÑÐ°ÐµÑ Ð½Ð° ÑдалÑнном компÑÑÑеÑе. РнаÑÑоÑÑее вÑÐµÐ¼Ñ ÑÑо поддеÑживаеÑÑÑ Ñ Ð¸ÑполÑзованием ÑолÑко одного ÑеÑевого пÑоÑокола â SSH.
ÐаÑÑÑойÑе SSH
ÐÑли Ð²Ñ Ñ Ð¾ÑиÑе иÑполÑзоваÑÑ pg_probackup в ÑдалÑнном Ñежиме (пÑименÑÑ SSH), вÑполниÑе ÑледÑÑÑие дейÑÑвиÑ:
УÑÑановиÑе pg_probackup в Ð¾Ð±ÐµÐ¸Ñ ÑиÑÑÐµÐ¼Ð°Ñ :
backup_host(ÑеÑÐ²ÐµÑ ÑезеÑвного копиÑованиÑ) иpostgres_host(ÑеÑÐ²ÐµÑ Ð±Ð°Ð· даннÑÑ ).ÐÐ»Ñ Ð¾ÑганизаÑии ÑвÑзи Ð¼ÐµÐ¶Ð´Ñ Ñзлами наÑÑÑойÑе подклÑÑение по SSH полÑзоваÑелÑ
backup_userв ÑиÑÑемеbackup_hostк ÑиÑÑемеpostrges_hostпод именем полÑзоваÑелÑpostgresбез ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð°ÑолÑ:backup_user@backup_host:~$ ssh-copy-id postgres@postgres_host
ÐдеÑÑ:
backup_hostâ ÑиÑÑема, в коÑоÑой Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ ÐºÐ°Ñалог копий.postrges_hostâ ÑиÑÑема, в коÑоÑой ÑÑнкÑиониÑÑÐµÑ ÐºÐ»Ð°ÑÑÐµÑ Postgres Pro.backup_userâ полÑзоваÑÐµÐ»Ñ Ð² ÑиÑÑемеbackup_host, Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ коÑоÑого запÑÑкаеÑÑÑ pg_probackup.postgresâ полÑзоваÑÐµÐ»Ñ Ð² ÑиÑÑемеpostgres_host, Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ коÑоÑого запÑÑкаÑÑÑÑ Ð¿ÑоÑеÑÑÑ ÐºÐ»Ð°ÑÑеÑа Postgres Pro. ÐÐ»Ñ Postgres Pro веÑÑии 11 и новее можно пÑимениÑÑ Ð±Ð¾Ð»ÐµÐµ безопаÑнÑй Ð¿Ð¾Ð´Ñ Ð¾Ð´, воÑполÑзовавÑиÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑÑ Ð¿ÑедоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑÑпа гÑÑппе.
ÐÑли Ð²Ñ Ð±ÑдеÑе иÑполÑзоваÑÑ Ð½ÐµÐ¿ÑеÑÑвное аÑÑ Ð¸Ð²Ð¸Ñование WAL, наÑÑÑойÑе подклÑÑение по SSH полÑзоваÑелÑ
postgresв ÑиÑÑемеpostgres_hostк ÑиÑÑемеbackup_hostпод именем полÑзоваÑелÑbackupбез ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð°ÑолÑ:postgres@postgres_host:~$ ssh-copy-id backup_user@backup_host
УбедиÑеÑÑ, ÑÑо pg_probackup в ÑиÑÑеме
postgres_hostможно найÑи пÑи ÑÑÑановке ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾ SSH. ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ Ð¾Ð±ÐµÑпеÑиÑÑ ÑÑо в Bash можно измениÑÑPATHв Ñайле~/.bashrcполÑзоваÑелÑpostgres(над ÑÑÑокой вbashrc, коÑоÑÐ°Ñ Ð·Ð°Ð²ÐµÑÑÐ°ÐµÑ ÑкÑÐ¸Ð¿Ñ Ð´Ð»Ñ Ð½ÐµÐ¸Ð½ÑеÑакÑивнÑÑ Ð¾Ð±Ð¾Ð»Ð¾Ñек). Ðибо Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ pg_probackup можно ÑказаÑÑ Ð² паÑамеÑÑе --remote-path пÑÑÑ Ðº каÑалогÑ, ÑодеÑжаÑÐµÐ¼Ñ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ pg_probackup в ÑиÑÑемеpostgres_host.
pg_probackup ÑабоÑÐ°ÐµÑ Ð² ÑдалÑнном Ñежиме по пÑоÑÐ¾ÐºÐ¾Ð»Ñ SSH ÑледÑÑÑим обÑазом:
Ð ÑдалÑнном Ñежиме поддеÑживаÑÑÑÑ ÑолÑко ÑледÑÑÑие командÑ: add-instance, backup, restore, delete, catchup, archive-push и archive-get.
ÐÐ»Ñ ÑабоÑÑ Ð² ÑдалÑнном Ñежиме Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾, ÑÑÐ¾Ð±Ñ Ð¿ÑогÑамма pg_probackup бÑла ÑÑÑановлена и в локалÑной, и в ÑдалÑнной ÑиÑÑеме, пÑи ÑÑом одной и Ñой же веÑÑии.
ÐÑи запÑÑке в ÑдалÑнном Ñежиме оÑновной пÑоÑеÑÑ pg_probackup в локалÑной ÑиÑÑеме подклÑÑаеÑÑÑ Ðº ÑдалÑнной по пÑоÑÐ¾ÐºÐ¾Ð»Ñ SSH и запÑÑÐºÐ°ÐµÑ Ð² ÑдалÑнной ÑиÑÑеме один или неÑколÑко агенÑов, коÑоÑÑе назÑваÑÑÑÑ ÑдалÑннÑми агенÑами. ÐолиÑеÑÑво ÑдалÑннÑÑ Ð°Ð³ÐµÐ½Ñов опÑеделÑеÑÑÑ Ð·Ð½Ð°Ñением паÑамеÑÑа
-j/--threads.ÐÑновной пÑоÑеÑÑ pg_probackup иÑполÑзÑÐµÑ ÑдалÑннÑе агенÑÑ Ð´Ð»Ñ Ð¿ÐµÑедаÑи даннÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð»Ð¾ÐºÐ°Ð»Ñной и ÑдалÑнной ÑиÑÑемой и Ð´Ð»Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ Ðº ÐµÑ Ñайлам.
УдалÑннÑе агенÑÑ ÑÑаÑаÑÑÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð¸Ð·Ð¸ÑоваÑÑ ÑеÑевой ÑÑаÑик и колиÑеÑÑво опеÑаÑий взаимодейÑÑÐ²Ð¸Ñ Ñзлов.
ÐÑновной пÑоÑеÑÑ Ð¾Ð±ÑÑно запÑÑкаеÑÑÑ Ð² ÑиÑÑеме
backup_hostи подклÑÑаеÑÑÑ Ðº ÑиÑÑемеpostgres_host, но Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´archive-pushиarchive-getоÑновной пÑоÑеÑÑ Ð·Ð°Ð¿ÑÑкаеÑÑÑ Ð² ÑиÑÑемеpostgres_hostи подклÑÑаеÑÑÑ Ðºbackup_host.ÐоÑле завеÑÑÐµÐ½Ð¸Ñ Ð¿ÐµÑедаÑи даннÑÑ ÑдалÑннÑе агенÑÑ Ð·Ð°Ð²ÐµÑÑаÑÑÑÑ Ð¸ подклÑÑÐµÐ½Ð¸Ñ SSH закÑÑваÑÑÑÑ.
ÐÑли какой-либо ÑдалÑннÑй Ð°Ð³ÐµÐ½Ñ ÑÑолкнÑлÑÑ Ñ Ð¾Ñибкой, вÑе агенÑÑ Ð·Ð°Ð²ÐµÑÑаÑÑÑÑ, а оÑновной пÑоÑеÑÑ pg_probackup вÑдаÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ возникÑей оÑибке и Ñакже неÑÑаÑно завеÑÑаеÑÑÑ.
СжаÑие даннÑÑ Ð²Ñегда оÑÑÑеÑÑвлÑеÑÑÑ Ð² ÑиÑÑеме
postgres_host, а ÑаÑпаковка â в ÑиÑÑемеbackup_host.
ÐÑимеÑание
ÐÑ Ð¼Ð¾Ð¶ÐµÑе задаÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе огÑаниÑиÑелÑнÑе паÑамеÑÑÑ SSH Ð´Ð»Ñ Ð·Ð°ÑиÑÑ Ñелевой ÑиÑÑÐµÐ¼Ñ Ð² ÑлÑÑае компÑомеÑаÑии иÑполÑзÑемой ÑÑÑÑной запиÑи.
ÐÑимеÑание
ÐÑли Ð´Ð»Ñ pg_probackup, ÑабоÑаÑÑего в ÑдалÑнном Ñежиме ÑеÑез SSH, задаÑÑ ÑиÑло поÑоков болÑÑе 10 (паÑамеÑÑ -j/--threads), Ñо ÑакÑиÑеÑкое ÑиÑло SSH-Ñоединений Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑевÑÑиÑÑ Ð¼Ð°ÐºÑималÑно допÑÑÑимое ÑиÑло одновÑеменнÑÑ
SSH-Ñоединений на ÑдалÑнном ÑеÑвеÑе и, ÑледоваÑелÑно, пÑиведÑÑ Ðº оÑибке «ERROR: Agent error: kex_exchange_identification: Connection closed by remote host» (ÐШÐÐÐÐ: ÐÑибка агенÑа: kex_exchange_identification: Соединение закÑÑÑо ÑдалÑннÑм ÑеÑвеÑом). ЧÑÐ¾Ð±Ñ Ð¸ÑпÑавиÑÑ Ð¾ÑибкÑ, либо ÑменÑÑиÑе колиÑеÑÑво поÑоков pg_probackup, либо измениÑе знаÑение паÑамеÑÑа конÑигÑÑаÑии MaxStartups ÑдалÑнного SSH-ÑеÑвеÑа. ÐÑли SSH наÑÑÑоен как ÑлÑжба xinetd на ÑдалÑнном ÑеÑвеÑе, измениÑе знаÑение паÑамеÑÑа конÑигÑÑаÑии xinetd per_source, а не MaxStartups.
ÐаÑÑÑойка копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ PTRACK
ÐÑимеÑание
ÐеÑÑии PTRACK ниже 2.0 пÑÐ¸Ð·Ð½Ð°Ð½Ñ ÑÑÑаÑевÑими и не поддеÑживаÑÑÑÑ. Ð Postgres Pro Standard и Postgres Pro Enterprise веÑÑии 11.9.1 и новее Ð²Ñ Ð¾Ð´Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑннÑй PTRACK 2.0. ÐбновиÑе Ð²Ð°Ñ ÑеÑвеÑ, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð¿Ñоблем Ñ ÑезеÑвнÑми копиÑми, коÑоÑÑе Ð²Ñ Ð±ÑдеÑе делаÑÑ Ð² далÑнейÑем, и обÑзаÑелÑно ÑделайÑе копии ваÑÐ¸Ñ ÐºÐ»Ð°ÑÑеÑов Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑннÑм PTRACK, Ñак как копии, полÑÑеннÑе Ñ Ð¸ÑполÑзованием PTRACK 1.x, могÑÑ Ð±ÑÑÑ Ð¸ÑпоÑÑеннÑми.
ÐÑли Ð²Ñ Ð½Ð°Ð¼ÐµÑÐµÐ½Ñ Ð¸ÑполÑзоваÑÑ Ñежим копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ PTRACK, вÑполниÑе опиÑаннÑе далее дополниÑелÑнÑе дейÑÑвиÑ. РолÑ, Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ коÑоÑой бÑÐ´ÐµÑ Ð²ÑполнÑÑÑÑÑ ÐºÐ¾Ð¿Ð¸Ñование PTRACK (в пÑимеÑаÑ
ниже ÑÑо ÑÐ¾Ð»Ñ backup), должна имеÑÑ Ð´Ð¾ÑÑÑп ко вÑем базам даннÑÑ
в клаÑÑеÑе.
ÐÐ»Ñ Postgres Pro веÑÑии 11 или новее:
СоздайÑе ÑаÑÑиÑение PTRACK:
CREATE EXTENSION ptrack;
ЧÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ Ð¾ÑÑлеживание изменений ÑÑÑаниÑ, задайÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа
ptrack.map_sizeположиÑелÑное Ñелое знаÑение и пеÑезапÑÑÑиÑе ÑеÑвеÑ.ÐÐ»Ñ Ð¾Ð¿ÑималÑной пÑоизводиÑелÑноÑÑи ÑекомендÑеÑÑÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑ
ptrack.map_sizeÑавнÑм, гдеN/ 1024Nâ обÑÑм клаÑÑеÑа Postgres Pro в мегабайÑÐ°Ñ . ÐÑли он бÑÐ´ÐµÑ Ð¸Ð¼ÐµÑÑ Ð¼ÐµÐ½ÑÑее знаÑение, ÑÑо ÑвелиÑÐ¸Ñ Ð²ÐµÑоÑÑноÑÑÑ Ð½Ð°Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð½ÑоÑмаÑии ÑазнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² в каÑÑе PTRACK, ÑÑо повлеÑÑÑ Ð»Ð¾Ð¶Ð½Ñе положиÑелÑнÑе ÑезÑлÑÑаÑÑ Ð¿Ñи опÑеделении изменÑннÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² и, как ÑледÑÑвие, ÑвелиÑение ÑазмеÑа инкÑеменÑалÑной копии, Ñак как в ÐºÐ¾Ð¿Ð¸Ñ Ð±ÑдÑÑ Ð¿Ð¾Ð¿Ð°Ð´Ð°ÑÑ Ð¸ ÑакÑиÑеÑки неизменÑннÑе блоки. ÐÑполÑзоваÑÑ Ð·Ð½Ð°ÑениÑptrack.map_size, пÑевÑÑаÑÑие 1024, не ÑекомендÑеÑÑÑ, Ñ Ð¾ÑÑ PTRACK поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð±Ð¾Ð»ÑÑие каÑÑÑ.
ÐÑимеÑание
Ð ÑлÑÑае Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ ptrack.map_size Ñанее ÑозданнÑй Ñайл каÑÑÑ PTRACK оÑиÑаеÑÑÑ, и оÑÑлеживание новÑÑ
блоков наÑинаеÑÑÑ Ñ Ð½Ð°Ñала. Таким обÑазом, пÑежде Ñем ÑоздаваÑÑ Ð½Ð¾Ð²Ñе инкÑеменÑалÑнÑе копии в Ñежиме PTRACK поÑле Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ptrack.map_size необÑ
одимо ÑделаÑÑ Ð½Ð¾Ð²ÑÑ Ð¿Ð¾Ð»Ð½ÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа.
ÐÑполÑзование
Создание ÑезеÑвной копии
ÐÐ»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑезеÑвной копии вÑполниÑе ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
pg_probackup backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-bÑежим_копиÑованиÑ
ÐдеÑÑ Ñежим_копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ ÑледÑÑÑие знаÑениÑ: FULL, DELTA, PAGE, и PTRACK.
ÐÑи воÑÑÑановлении клаÑÑеÑа из инкÑеменÑалÑной копии pg_probackup иÑполÑзÑÐµÑ ÑодиÑелÑÑкÑÑ Ð¿Ð¾Ð»Ð½ÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¸ вÑе инкÑеменÑалÑнÑе копии Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸, коÑоÑÑе в ÑовокÑпноÑÑи обÑазÑÑÑ Â«ÑепоÑÐºÑ ÐºÐ¾Ð¿Ð¸Ð¹Â». Таким обÑазом, пÑежде Ñем делаÑÑ Ð¸Ð½ÐºÑеменÑалÑнÑе копии, необÑ
одимо ÑделаÑÑ ÐºÐ°Ðº минимÑм Ð¾Ð´Ð½Ñ Ð¿Ð¾Ð»Ð½ÑÑ Ñо ÑÑаÑÑÑом OK или DONE в каÑалоге. ÐÑли ÑодиÑелÑÑÐºÐ°Ñ Ð¿Ð¾Ð»Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð¸Ð¼ÐµÐµÑ ÑÑаÑÑÑ MERGING или MERGED, вÑполниÑÑ Ð¸Ð½ÐºÑеменÑалÑное ÑезеÑвное копиÑование невозможно.
ÐапÑимеÑ, еÑли обÑединение Ñже бÑло запÑÑено Ñ Ð¾Ð´Ð½Ð¾Ð¹ полной копией, попÑÑка вÑполниÑÑ Ð¸Ð½ÐºÑеменÑалÑное ÑезеÑвное копиÑование завеÑÑиÑÑÑ Ð²Ñводом ÑледÑÑÑÐ¸Ñ ÑообÑений:
ÐÐÐÐÐÐÐÐ: РабоÑÐ°Ñ Ð¿Ð¾Ð»Ð½Ð°Ñ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð½Ðµ найдена в ÑекÑÑей линии вÑемени, идÑÑ Ð¿Ð¾Ð¸Ñк в пÑедÑдÑÑÐ¸Ñ Ð»Ð¸Ð½Ð¸ÑÑ Ð²Ñемени ÐÐÐÐÐÐÐÐ: Ðевозможно найÑи ÑабоÑÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð² пÑедÑдÑÑÐ¸Ñ Ð»Ð¸Ð½Ð¸ÑÑ Ð²Ñемени ÐШÐÐÐÐ: СоздайÑе новÑÑ Ð¿Ð¾Ð»Ð½ÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð´Ð¾ инкÑеменÑалÑной
Режим ARCHIVE
Режим ARCHIVE иÑполÑзÑеÑÑÑ Ð² каÑеÑÑве Ñежима доÑÑавки WAL по ÑмолÑаниÑ.
ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ ÑделаÑÑ Ð¿Ð¾Ð»Ð½ÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð² Ñежиме доÑÑавки WAL ARCHIVE, вÑполниÑе:
pg_probackup backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-b FULL
РезеÑвное копиÑование ARCHIVE ÑÑебÑÐµÑ Ð¾ÑганизаÑии непÑеÑÑвного аÑÑ Ð¸Ð²Ð¸ÑованиÑ, поÑÑедÑÑвом коÑоÑого ÑÑиÑÑваÑÑÑÑ ÑегменÑÑ WAL, ÑÑебÑÑÑиеÑÑ Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑоглаÑованного ÑоÑÑоÑÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа на Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸.
РпÑоÑеÑÑе ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ pg_probackup помеÑÐ°ÐµÑ ÑÐ°Ð¹Ð»Ñ WAL, ÑодеÑжаÑие запиÑи Ð¾Ñ Start LSN до Stop LSN, в каÑалог . pg_probackup Ñакже пÑовеÑÑеÑ, ÑÑо запиÑи WAL Ð¼ÐµÐ¶Ð´Ñ ÐºÐ°Ñалог_копий/wal/имÑ_ÑкземплÑÑаStart LSN и Stop LSN коÑÑекÑно ÑиÑаÑÑÑÑ. ÐÑо позволÑÐµÑ Ð¸ÑклÑÑиÑÑ ÑиÑк Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð² аÑÑ
иве повÑеждÑнного WAL.
Режим STREAM
Режим STREAM Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð² каÑеÑÑве алÑÑеÑнаÑивного Ñежима доÑÑавки WAL.
ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ ÑделаÑÑ Ð¿Ð¾Ð»Ð½ÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð² поÑоковом Ñежиме, добавÑÑе Ñлаг --stream к команде, показанной вÑÑе:
pg_probackup backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-b FULL --stream --temp-slot
ÐеобÑзаÑелÑнÑй паÑамеÑÑ --temp-slot обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð½Ð°Ð»Ð¸Ñие необÑ
одимÑÑ
ÑегменÑов в ÑлÑÑае пÑокÑÑÑки WAL до завеÑÑÐµÐ½Ð¸Ñ ÑезеÑвного копиÑованиÑ.
РоÑлиÑие Ð¾Ñ ÐºÐ¾Ð¿Ð¸Ð¹ ARCHIVE, копии Ñипа STREAM вклÑÑаÑÑ Ð²Ñе ÑегменÑÑ WAL, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑоглаÑованного ÑоÑÑоÑÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа на Ð¼Ð¾Ð¼ÐµÐ½Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸.
РпÑоÑеÑÑе вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ backup пÑогÑамма pg_probackup пеÑедаÑÑ ÑÐ°Ð¹Ð»Ñ WAL, ÑодеÑжаÑие запиÑи Ð¾Ñ Start LSN до Stop LSN в каÑалог . ЧÑÐ¾Ð±Ñ Ð¸ÑклÑÑиÑÑ ÑиÑк аÑÑ
ивиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ÑпоÑÑеннÑÑ
Ñайлов WAL, pg_probackup Ñакже пÑовеÑÑеÑ, ÑÑо запиÑи WAL Ð¾Ñ ÐºÐ°Ñалог_копий/backups/имÑ_ÑкземплÑÑа/ид_ÑезеÑвной_копии/database/pg_walStart LSN до Stop LSN пÑоÑиÑÑваÑÑÑÑ ÐºÐ¾ÑÑекÑно.
Ðаже еÑли Ð²Ñ Ð¸ÑполÑзÑеÑе непÑеÑÑвное аÑÑ Ð¸Ð²Ð¸Ñование, копиÑование в Ñежиме STREAM Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ в ÑледÑÑÑÐ¸Ñ ÑлÑÑаÑÑ :
Ðопии Ñипа STREAM могÑÑ Ð±ÑÑÑ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð½Ð° ÑеÑвеÑе, не имеÑÑем Ñайлового доÑÑÑпа к аÑÑ Ð¸Ð²Ñ WAL.
Ðопии Ñипа STREAM позволÑÑÑ Ð²Ð¾ÑÑÑановиÑÑ ÑоÑÑоÑние клаÑÑеÑа на ÑÐ¾Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени, Ð´Ð»Ñ ÐºÐ¾ÑоÑого Ñже Ð½ÐµÑ Ñайлов WAL.
ÐопиÑование в Ñежиме STREAM можно пÑоизводиÑÑ Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа, не дожидаÑÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑегменÑов WAL, ÑÑо могло Ð±Ñ Ð·Ð°Ð½ÑÑÑ Ð´Ð»Ð¸ÑелÑное вÑÐµÐ¼Ñ Ð¿Ñи неболÑÑом обÑÑме ÑÑаÑика WAL.
ÐÑовеÑка ÑÑÑаниÑ
Ðогда в клаÑÑеÑе ÐРвклÑÑÐµÐ½Ñ ÐºÐ¾Ð½ÑÑолÑнÑе ÑÑммÑ, pg_probackup иÑполÑзÑÐµÑ Ð¸Ñ Ð´Ð»Ñ Ð¿ÑовеÑки ÑелоÑÑноÑÑи Ñайлов даннÑÑ Ð² пÑоÑеÑÑе ÑезеÑвного копиÑованиÑ. ÐÑи ÑÑении каждой ÑÑÑаниÑÑ pg_probackup пÑовеÑÑеÑ, ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ð»Ð¸ вÑÑиÑÐ»ÐµÐ½Ð½Ð°Ñ ÑÑмма Ñ ÐºÐ¾Ð½ÑÑолÑной ÑÑммой, Ñ ÑанÑÑейÑÑ Ð² заголовке ÑÑÑаниÑÑ. ÐÑо гаÑанÑиÑÑеÑ, ÑÑо в клаÑÑеÑе Postgres Pro и Ñамой ÑезеÑвной копии не ÑодеÑжаÑÑÑ Ð¸ÑпоÑÑеннÑе ÑÑÑаниÑÑ. ÐамеÑÑÑе, ÑÑо pg_probackup ÑиÑÐ°ÐµÑ ÑÐ°Ð¹Ð»Ñ Ð´Ð°Ð½Ð½ÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно из Ñайловой ÑиÑÑемÑ, поÑÑÐ¾Ð¼Ñ Ð¿Ñи акÑивной запиÑи в Ð¼Ð¾Ð¼ÐµÐ½Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ Ð»Ð¾Ð¶Ð½Ñе вÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾ÑÑекÑнÑÑ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑÑмм из-за ÑаÑÑиÑной запиÑи. Ð ÑлÑÑае неÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑÑолÑной ÑÑÐ¼Ð¼Ñ ÑÑÑаниÑа ÑÑиÑÑваеÑÑÑ Ð¿Ð¾Ð²ÑоÑно, и конÑÑолÑÐ½Ð°Ñ ÑÑмма пÑовеÑÑеÑÑÑ ÐµÑÑ Ñаз.
СÑÑаниÑа пÑизнаÑÑÑÑ Ð¸ÑпоÑÑенной, еÑли пÑовеÑка конÑÑолÑной ÑÑÐ¼Ð¼Ñ Ð½Ðµ пÑÐ¾Ñ Ð¾Ð´Ð¸Ñ Ð±Ð¾Ð»ÐµÐµ 300 Ñаз. Ð ÑÑом ÑлÑÑае ÑезеÑвное копиÑование пÑеÑÑваеÑÑÑ.
Ðаже еÑли конÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð½Ðµ вклÑÑенÑ, pg_probackup вÑегда пÑовеÑÑÐµÑ ÑелоÑÑноÑÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² ÑÑÑаниÑ.
ÐнеÑние каÑалоги
ЧÑÐ¾Ð±Ñ Ð·Ð°Ð°ÑÑ
ивиÑоваÑÑ ÐºÐ°Ñалог, ÑазмеÑÑннÑй вне каÑалога даннÑÑ
, воÑполÑзÑйÑеÑÑ Ð½ÐµÐ¾Ð±ÑзаÑелÑнÑм паÑамеÑÑом --external-dirs, в коÑоÑом можно задаÑÑ Ð¿ÑÑÑ Ðº нÑÐ¶Ð½Ð¾Ð¼Ñ ÐºÐ°ÑалогÑ. ÐÑли Ð²Ñ Ñ
оÑиÑе зааÑÑ
ивиÑоваÑÑ Ð½ÐµÑколÑко внеÑниÑ
каÑалогов, иÑ
пÑÑи нÑжно ÑазделиÑÑ Ð´Ð²Ð¾ÐµÑоÑиÑми в Linux или ÑоÑками Ñ Ð·Ð°Ð¿ÑÑой в Windows.
ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ Ð² ÑиÑÑеме Linux вклÑÑиÑÑ ÐºÐ°Ñалоги /etc/dir1 и /etc/dir2 в полнÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÑкземплÑÑа имÑ_ÑкземплÑÑа, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ ÑазмеÑаÑÑÑÑ Ð² каÑалоге_копий, вÑполниÑе:
pg_probackup backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-b FULL --external-dirs=/etc/dir1:/etc/dir2
ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ ÐºÐ°Ñалоги C:\dir1 и C:\dir2 в полнÑÑ ÐºÐ¾Ð¿Ð¸Ñ, в Windows нÑжно вÑполниÑÑ:
pg_probackup backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-b FULL --external-dirs=C:\dir1;C:\dir2
ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ внеÑнего каÑалога pg_probackup ÑоздаÑÑ Ð¾ÑделÑнÑй подкаÑалог в каÑалоге ÑезеÑвной копии и ÑекÑÑÑивно копиÑÑÐµÑ Ð² него вÑÑ ÑодеÑжимое внеÑнего каÑалога. Так как внеÑние каÑалоги, попадаÑÑие в ÑазнÑе ÑезеÑвнÑе копии, не обÑзаÑелÑно Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñми, пÑи воÑÑÑановлении клаÑÑеÑа из инкÑеменÑалÑной копии бÑдÑÑ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÑолÑко Ñе каÑалоги, коÑоÑÑе оÑноÑÑÑÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ к ней. ÐнеÑние каÑалоги, ÑÐ¾Ñ ÑанÑннÑе в пÑедÑдÑÑÐ¸Ñ ÐºÐ¾Ð¿Ð¸ÑÑ , воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð½Ðµ бÑдÑÑ.
ЧÑÐ¾Ð±Ñ Ð½ÑжнÑе каÑалоги вклÑÑалиÑÑ Ð² каждÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð²Ð°Ñего клаÑÑеÑа, иÑ
ÑпиÑок можно ÑоÑ
ÑаниÑÑ Ð² Ñайле конÑигÑÑаÑии pg_probackup.conf, воÑполÑзовавÑиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ set-config Ñ ÐºÐ»ÑÑом --external-dirs.
ÐÑовеÑка ÑелоÑÑноÑÑи клаÑÑеÑа
ЧÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ Ð² оÑÑÑÑÑÑвии повÑеждений в клаÑÑеÑе Postgres Pro, вÑполниÑе ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
pg_probackup checkdb [-BкаÑалог_копий[--instance=имÑ_ÑкземплÑÑа]] [-DкаÑалог_даннÑÑ] [паÑамеÑÑÑ_подклÑÑениÑ]
ÐÑа команда вÑполнÑÐµÑ ÑизиÑеÑкÑÑ Ð¿ÑовеÑÐºÑ Ð²ÑеÑ
Ñайлов даннÑÑ
в Ñказанном каÑалоге даннÑÑ
, пÑÐ¾Ð²Ð¾Ð´Ñ Ð¿ÑовеÑки ÑелоÑÑноÑÑи заголовков ÑÑÑаниÑ, а Ñакже пÑовеÑÑÑ ÐºÐ¾Ð½ÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð½Ð° ÑÑовне блоков, еÑли в клаÑÑеÑе вклÑÑÐµÐ½Ñ ÐºÐ¾Ð½ÑÑолÑнÑе ÑÑммÑ. Ð ÑлÑÑае обнаÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸ÑпоÑÑенной ÑÑÑаниÑÑ checkdb пÑÐ¾Ð´Ð¾Ð»Ð¶Ð°ÐµÑ ÑабоÑÑ, пока не бÑдÑÑ Ð¿ÑовеÑÐµÐ½Ñ Ð²Ñе ÑÑÑаниÑÑ Ð² клаÑÑеÑе.
Ðо ÑмолÑÐ°Ð½Ð¸Ñ pg_probackup вÑполнÑÐµÑ Ð¿Ð¾Ð´Ð¾Ð±Ð½ÑÑ Ð¿ÑовеÑÐºÑ ÑÑÑаниÑÑ Ð°Ð²ÑомаÑиÑеÑки в пÑоÑеÑÑе ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸. Ðоманда checkdb позволÑÐµÑ Ð¿Ñи желании пÑоводиÑÑ Ð¿ÑовеÑки ÑÑÑÐ°Ð½Ð¸Ñ Ð² клаÑÑеÑе, не ÑÐ¾Ð·Ð´Ð°Ð²Ð°Ñ ÑезеÑвнÑе копии (пÑи ÑÑом даже необÑзаÑелÑно наÑÑÑаиваÑÑ ÐºÐ¾Ð¿Ð¸Ñование клаÑÑеÑа в pg_probackup).
ЧÑÐ¾Ð±Ñ Ð¿ÑовеÑÑи пÑовеÑÐºÑ ÐºÐ»Ð°ÑÑеÑа, пÑиложение pg_probackup должно подклÑÑиÑÑÑÑ Ðº немÑ. ÐбÑÑно Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑÑебÑемÑÑ
паÑамеÑÑов подклÑÑÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑаÑоÑно ÑказаÑÑ ÑвÑзаннÑй Ñ Ð´Ð°Ð½Ð½Ñм клаÑÑеÑом копиÑÑемÑй ÑкземплÑÑ. Ðднако еÑли паÑамеÑÑÑ -B и --instance опÑÑкаÑÑÑÑ, паÑамеÑÑÑ_ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ каÑалог_даннÑÑ
необÑ
одимо задаÑÑ Ð² командной ÑÑÑоке или в пеÑеменнÑÑ
окÑÑжениÑ.
Ðажно понимаÑÑ, ÑÑо пÑовеÑка на ÑизиÑеÑком ÑÑовне не позволÑÐµÑ Ð²ÑÑвиÑÑ Ð»Ð¾Ð³Ð¸ÑеÑкие неÑооÑвеÑÑÑвиÑ, поÑеÑÑ Ð¸Ð»Ð¸ обнÑление блоков или ÑелÑÑ Ñайлов и дÑÑгие подобнÑе аномалии. ÐÑовеÑÑи логиÑеÑкÑÑ Ð¿ÑовеÑÐºÑ Ð² некоÑоÑом обÑÑме позволÑÑÑ ÑаÑÑиÑÐµÐ½Ð¸Ñ amcheck и amcheck_next.
ÐÑли Ð²Ñ Ñ
оÑиÑе помимо ÑизиÑеÑкой пÑовеÑки пÑовеÑиÑÑ Ñакже вÑе индекÑÑ Ð²Ð¾ вÑеÑ
базаÑ
, иÑполÑзÑÑ ÑÑи ÑаÑÑиÑениÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе пеÑедаÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ðµ checkdb Ñлаг --amcheck:
pg_probackup checkdb -DкаÑалог_даннÑÑ--amcheck [паÑамеÑÑÑ_ÑоединениÑ]
ÐÑовеÑÐºÑ Ð½Ð° ÑизиÑеÑком ÑÑовне можно оÑклÑÑиÑÑ, воÑполÑзовавÑиÑÑ Ñлагом --skip-block-validation. Ð ÑÑом ÑлÑÑае задаваÑÑ ÐºÐ°Ñалог_копий и каÑалог_даннÑÑ
не нÑжно, ÑÑебÑеÑÑÑ Ð·Ð°Ð´Ð°ÑÑ ÑолÑко паÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ:
pg_probackup checkdb --amcheck --skip-block-validation [паÑамеÑÑÑ_ÑоединениÑ]ÐогиÑеÑÐºÐ°Ñ Ð¿ÑовеÑка Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð±Ð¾Ð»ÐµÐµ доÑконалÑной, еÑли запÑÑÑиÑÑ ÐµÑ Ñ ÐºÐ»ÑÑом --heapallindexed. Ð ÑÑом ÑлÑÑае бÑÐ´ÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑно пÑовеÑено, ÑÑо в индекÑе дейÑÑвиÑелÑно пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð²Ñе коÑÑежи кÑÑи, коÑоÑÑе Ð´Ð¾Ð»Ð¶Ð½Ñ Ð² него попаÑÑÑ, но ÑÑо ÑоздаÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ Ð½Ð°Ð³ÑÑÐ·ÐºÑ Ð½Ð° пÑоÑеÑÑоÑ, памÑÑÑ Ð¸ подÑиÑÑÐµÐ¼Ñ Ð²Ð²Ð¾Ð´Ð°/вÑвода.
ÐÑовеÑка ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹
pg_probackup вÑÑиÑлÑÐµÑ ÐºÐ¾Ð½ÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð´Ð»Ñ Ð²ÑÐµÑ Ñайлов копии в Ñ Ð¾Ð´Ðµ ÑезеÑвного копиÑованиÑ. ÐÑоÑеÑÑ Ð¿ÑовеÑки конÑÑолÑнÑÑ ÑÑмм Ñайлов назÑваеÑÑÑ Ð¿ÑовеÑкой ÑелоÑÑноÑÑи копии. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¿ÑовеÑка вÑполнÑеÑÑÑ ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑезеÑвной копии и непоÑÑедÑÑвенно пеÑед воÑÑÑановлением Ð´Ð»Ñ Ð²ÑÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½ÑÑ Ð¿Ð¾Ð²Ñеждений ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.
ÐÑли Ð²Ñ Ñ
оÑиÑе пÑопÑÑÑиÑÑ Ð¿ÑовеÑÐºÑ ÑезеÑвной копии, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе пеÑедаÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼ backup и restore Ñлаг --no-validate.
ЧÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ, ÑÑо вÑе Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе ÑÐ°Ð¹Ð»Ñ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ имеÑÑÑÑ Ð² налиÑии и ÑÑо, иÑполÑзÑÑ Ð¸Ñ , можно воÑÑÑановиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð±Ð°Ð· даннÑÑ , Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе запÑÑÑиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ validate Ñ Ñеми же паÑамеÑÑами ÑоÑки воÑÑÑановлениÑ, Ñ ÐºÐ¾ÑоÑÑми Ð²Ñ Ð±ÑдеÑе пÑоизводиÑÑ Ð²Ð¾ÑÑÑановление.
ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ, ÑÑо Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе воÑÑÑановиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð±Ð°Ð· даннÑÑ Ð¸Ð· ÑезеÑвной копии, оÑÑановивÑиÑÑ Ð½Ð° ÑÑанзакÑии Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑом 4242, вÑполниÑе командÑ:
pg_probackup validate -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--recovery-target-xid=4242
ÐÑли пÑовеÑка пÑÐ¾Ñ Ð¾Ð´Ð¸Ñ ÑÑпеÑно, pg_probackup вÑдаÑÑ ÑообÑение об ÑÑом. Ð ÑлÑÑае же неÑдаÑи Ð²Ñ Ð¿Ð¾Ð»ÑÑиÑе ÑообÑение об оÑибке Ñ Ñказанием ÑоÑного вÑемени, иденÑиÑикаÑоÑа ÑÑанзакÑии и знаÑÐµÐ½Ð¸Ñ LSN, до коÑоÑого возможно воÑÑÑановление.
ÐÑли Ð²Ñ ÑкажеÑе иденÑиÑикаÑÐ¾Ñ ÐºÐ¾Ð¿Ð¸Ð¸ в клÑÑе -i/--backup-id, бÑÐ´ÐµÑ Ð¿ÑовеÑена ÑолÑко ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ñ ÑказаннÑм иденÑиÑикаÑоÑом. ÐÑли иденÑиÑикаÑÐ¾Ñ ÐºÐ¾Ð¿Ð¸Ð¸ ÑказÑваеÑÑÑ Ð²Ð¼ÐµÑÑе Ñ Ð¿Ð°ÑамеÑÑами ÑоÑки воÑÑÑановлениÑ, команда validate пÑовеÑиÑ, возможно ли воÑÑÑановиÑÑ ÑказаннÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð´Ð¾ заданной ÑоÑки.
ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ, ÑÑо можно воÑÑÑановиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð±Ð°Ð· даннÑÑ
из ÑезеÑвной копии Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑом SBOL6P до заданного моменÑа вÑемени, вÑполниÑе командÑ:
pg_probackup validate -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-i SBOL6P --recovery-target-time="2024-04-10 18:18:26+03"
ÐÑли Ð²Ñ ÑкажеÑе ид_ÑезеÑвной_копии, оÑноÑÑÑийÑÑ Ðº инкÑеменÑалÑной копии, бÑдÑÑ Ð¿ÑовеÑÐµÐ½Ñ Ð²Ñе нÑжнÑе ей ÑодиÑелÑÑкие копии, наÑÐ¸Ð½Ð°Ñ Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹.
ÐÑли Ð²Ñ Ð¾Ð¿ÑÑÑиÑе вÑе паÑамеÑÑÑ, бÑдÑÑ Ð¿ÑовеÑÐµÐ½Ñ Ð²Ñе ÑезеÑвнÑе копии.
ÐоÑÑÑановление клаÑÑеÑа
ЧÑÐ¾Ð±Ñ Ð²Ð¾ÑÑÑановиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð±Ð°Ð· даннÑÑ Ð¸Ð· ÑезеÑвной копии, вÑполниÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ restore как минимÑм Ñо ÑледÑÑÑими паÑамеÑÑами:
pg_probackup restore -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-iид_ÑезеÑвной_копии
ÐдеÑÑ:
каÑалог_копийâ каÑалог, в коÑоÑом Ñ ÑанÑÑÑÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ и меÑаданнÑе.имÑ_ÑкземплÑÑаâ Ð¸Ð¼Ñ ÑкземплÑÑа ÑезеÑвной копии клаÑÑеÑа, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð²Ð¾ÑÑÑановлена.ид_ÑезеÑвной_копииопÑеделÑеÑ, из какой ÑезеÑвной копии бÑÐ´ÐµÑ Ð²Ð¾ÑÑÑановлен клаÑÑеÑ. ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑÑкаеÑÑÑ, pg_probackup иÑполÑзÑÐµÑ Ð¿Ð¾ÑледнÑÑ Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ ÑкземплÑÑа. ÐÑли Ð²Ñ Ð²ÑбиÑаеÑе Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð½ÐºÑеменÑалÑнÑÑ ÐºÐ¾Ð¿Ð¸Ñ, pg_probackup авÑомаÑиÑеÑки воÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð½Ð¸Ð¶ÐµÐ»ÐµÐ¶Ð°ÑÑÑ Ð¿Ð¾Ð»Ð½ÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¸ заÑем поÑледоваÑелÑно пÑименÑÐµÑ Ð²Ñе Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе добавлениÑ.
ÐоÑле оконÑÐ°Ð½Ð¸Ñ ÑабоÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ restore запÑÑÑиÑе ÑлÑÐ¶Ð±Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
.
ÐÑли Ð²Ñ Ð²Ð¾ÑÑÑанавливаеÑе ÐºÐ¾Ð¿Ð¸Ñ ARCHIVE, вÑполнÑеÑе воÑÑÑановление PITR или пеÑедаÑÑе Ñлаг --restore-as-replica команде restore Ð´Ð»Ñ Ð½Ð°ÑÑÑойки ведомого ÑеÑвеÑа, pg_probackup ÑоздаÑÑ Ñайл конÑигÑÑаÑии воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñле копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑеÑ
Ñайлов даннÑÑ
в Ñелевой каÑалог. ÐÑÐ¾Ñ Ñайл вклÑÑÐ°ÐµÑ Ð½ÐµÐ¾Ð±Ñ
одимÑе Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑÑ, за иÑклÑÑением паÑолÑ, заданного в primary_conninfo; еÑли он ÑÑебÑеÑÑÑ, его нÑжно дополниÑелÑно задаÑÑ Ð²ÑÑÑнÑÑ Ð¸Ð»Ð¸ воÑполÑзоваÑÑÑÑ Ð¿Ð°ÑамеÑÑом --primary-conninfo. ÐÐ»Ñ Postgres Pro веÑÑии 11 паÑамеÑÑÑ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑоÑ
ÑанÑÑÑÑÑ Ð² Ñайле recovery.conf, но Ð´Ð»Ñ Ð²ÐµÑÑий Postgres Pro, наÑÐ¸Ð½Ð°Ñ Ñ 12, pg_probackup ÑоÑ
ÑанÑÐµÑ ÑÑи паÑамеÑÑÑ Ð² Ñайле probackup_recovery.conf в каÑалоге даннÑÑ
и подклÑÑÐ°ÐµÑ ÐµÐ³Ð¾ в postgresql.auto.conf.
ÐÑли воÑÑÑанавливалаÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ñипа STREAM, воÑÑÑановление завеÑÑаеÑÑÑ ÑÑазÑ, и клаÑÑÐµÑ Ð²Ð¾Ð·Ð²ÑаÑаеÑÑÑ Ð² ÑоглаÑованное ÑоÑÑоÑние на Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени, в коÑоÑÑй бÑла Ñделана ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ. ÐÐ»Ñ ÐºÐ¾Ð¿Ð¸Ð¹ Ñипа ARCHIVE Postgres Pro воÑпÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ Ð²Ñе имеÑÑиеÑÑ Ð² аÑÑ
иве ÑегменÑÑ WAL, в ÑезÑлÑÑаÑе Ñего воÑÑÑанавливаеÑÑÑ Ñамое поÑледнее ÑоÑÑоÑние клаÑÑеÑа на ÑекÑÑей линии вÑемени. ÐÑо поведение можно измениÑÑ, опÑеделив паÑамеÑÑÑ ÑоÑки воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ restore как опиÑÑваеÑÑÑ Ð² ÐодÑазделе «ÐÑполнение воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени (PITR)».
ÐÑли клаÑÑеÑ, подлежаÑий воÑÑÑановлениÑ, ÑодеÑÐ¶Ð¸Ñ ÑаблиÑнÑе пÑоÑÑÑанÑÑва, pg_probackup по ÑмолÑÐ°Ð½Ð¸Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð¸Ñ
в иÑÑ
однÑе ÑаÑположениÑ. ЧÑÐ¾Ð±Ñ ÑмениÑÑ ÑаÑÐ¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑаблиÑнÑÑ
пÑоÑÑÑанÑÑв, воÑполÑзÑйÑеÑÑ Ð¿Ð°ÑамеÑÑом --tablespace-mapping/-T. РпÑоÑивном ÑлÑÑае пÑи воÑÑÑановлении клаÑÑеÑа на Ñом же ÑеÑвеÑе пÑоизойдÑÑ Ð¾Ñибка, еÑли ÑÑи ÑаблиÑнÑе пÑоÑÑÑанÑÑва бÑдÑÑ Ð¸ÑполÑзоваÑÑÑÑ, Ñак как воÑÑÑанавливаемÑе даннÑе нÑжно бÑÐ´ÐµÑ Ð·Ð°Ð¿Ð¸ÑаÑÑ Ð² Ñе же каÑалоги.
ÐÑполÑзÑÑ Ð¿Ð°ÑамеÑÑ --tablespace-mapping/-T, Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð´Ð°ÑÑ Ð°Ð±ÑолÑÑнÑе пÑÑи к ÑÑаÑÐ¾Ð¼Ñ Ð¸ Ð½Ð¾Ð²Ð¾Ð¼Ñ ÐºÐ°ÑÐ°Ð»Ð¾Ð³Ñ ÑаблиÑного пÑоÑÑÑанÑÑва. ÐÑли пÑÑÑ ÑодеÑÐ¶Ð¸Ñ Ð·Ð½Ð°Ðº Ñавно (=), ÑкÑаниÑÑйÑе его обÑаÑной коÑой ÑеÑÑой. ÐаннÑй паÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ ÑказÑваÑÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно Ð´Ð»Ñ Ð¿ÐµÑемеÑÐµÐ½Ð¸Ñ Ð½ÐµÑколÑкиÑ
ÑаблиÑнÑÑ
пÑоÑÑÑанÑÑв. ÐапÑимеÑ:
pg_probackup restore -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-DкаÑалог_даннÑÑ-j 4 -iид_ÑезеÑвной_копии-T каÑалог_Ñабл_пÑоÑÑÑанÑÑва1=новÑй_каÑалог_Ñабл_пÑоÑÑÑанÑÑва1-T каÑалог_Ñабл_пÑоÑÑÑанÑÑва2=новÑй_каÑалог_Ñабл_пÑоÑÑÑанÑÑва2
ÐоÑÑÑановление клаÑÑеÑа на ÑдалÑнном компÑÑÑеÑе опиÑано в ÐодÑазделе «ÐÑполÑзование pg_probackup в ÑдалÑнном Ñежиме».
ÐÑимеÑание
Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° restore пÑовеÑÑÐµÑ ÑказаннÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¿ÐµÑед воÑÑÑановлением клаÑÑеÑа. ÐÑли Ð²Ñ Ð¿ÑоводиÑе пÑовеÑÐºÑ ÐºÐ¾Ð¿Ð¸Ð¹ ÑегÑлÑÑно и Ñ
оÑели Ð±Ñ ÑÑкономиÑÑ Ð²ÑÐµÐ¼Ñ Ð¿Ñи воÑÑÑановлении клаÑÑеÑа, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе добавиÑÑ ÐºÐ»ÑÑ --no-validate Ð´Ð»Ñ Ð¿ÑопÑÑка пÑовеÑки и ÑÑкоÑÐµÐ½Ð¸Ñ Ð²Ð¾ÑÑÑановлениÑ.
ÐнкÑеменÑалÑное воÑÑÑановление
СкоÑоÑÑÑ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑезеÑвной копии можно знаÑиÑелÑно ÑвелиÑиÑÑ, заменÑÑ Ð² ÑÑÑеÑÑвÑÑÑем каÑалоге даннÑÑ Postgres Pro ÑолÑко некоÑÑекÑнÑе или изменÑннÑе ÑÑÑаниÑÑ. ÐÑо можно ÑеализоваÑÑ, иÑполÑзÑÑ Ð¿Ð°ÑамеÑÑÑ Ð¸Ð½ÐºÑеменÑалÑного воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ restore.
ЧÑÐ¾Ð±Ñ Ð²Ð¾ÑÑÑановиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð±Ð°Ð· даннÑÑ Ð¸Ð· ÑезеÑвной копии в инкÑеменÑалÑном Ñежиме, вÑполниÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ restore Ñо ÑледÑÑÑими паÑамеÑÑами:
pg_probackup restore -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-DкаÑалог_даннÑÑ-IинкÑеменÑалÑнÑй_Ñежим
ÐдеÑÑ Ð¸Ð½ÐºÑеменÑалÑнÑй_Ñежим Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑледÑÑÑим:
CHECKSUMâ пÑоÑиÑаÑÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² Ñелевом каÑалоге, пÑовеÑиÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº и конÑÑолÑнÑÑ ÑÑÐ¼Ð¼Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑÑÑаниÑÑ Ð¸ замениÑÑ ÑолÑко некоÑÑекÑнÑе ÑÑÑаниÑÑ, а Ñакже ÑÑÑаниÑÑ, в коÑоÑÑÑ ÐºÐ¾Ð½ÑÑолÑÐ½Ð°Ñ ÑÑмма и LSN оÑлиÑаÑÑÑÑ Ð¾Ñ Ð·Ð½Ð°Ñений в ÑооÑвеÑÑÑвÑÑÑей ÑÑÑаниÑе в копии. ÐÑо ÑамÑй пÑоÑÑой и надÑжнÑй инкÑеменÑалÑнÑй Ñежим. Ðго ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ Ð¿Ð¾ ÑмолÑаниÑ.LSNâ пÑоÑиÑаÑÑ Ñайлpg_controlв каÑалоге даннÑÑ , полÑÑиÑÑ Ð¸Ð· него знаÑÐµÐ½Ð¸Ñ REDO LSN и REDO TLI, позволÑÑÑие опÑеделиÑÑ ÑоÑÐºÑ Ð² иÑÑоÑии (ÑоÑÐºÑ Ñдвига), в коÑоÑой ÑоÑÑоÑние каÑалога даннÑÑ ÑдвинÑлиÑÑ Ñ ÑепоÑки ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹. ÐÑли ÑоÑка Ñдвига Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð·Ð° пÑеделами иÑÑоÑии ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹, воÑÑÑановление пÑеÑÑваеÑÑÑ. ÐÑли же ÑоÑка Ñдвига доÑÑижима, пÑоÑиÑÑваÑÑÑÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² каÑалоге даннÑÑ , пÑовеÑÑеÑÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº и конÑÑолÑÐ½Ð°Ñ ÑÑмма на каждой ÑÑÑаниÑе, а заÑем заменÑÑÑÑÑ ÑолÑко ÑÑÑаниÑÑ Ñ Ð½ÐµÐ²ÐµÑной конÑÑолÑной ÑÑммой или Ñ LSN, пÑевÑÑаÑÑим позиÑÐ¸Ñ ÑоÑки Ñдвига. Ð ÑÑом Ñежиме обеÑпеÑиваеÑÑÑ ÑвелиÑÐµÐ½Ð½Ð°Ñ ÑкоÑоÑÑÑ Ð¿Ð¾ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñ Ñежимом CHECKSUM, но ÑÑебÑеÑÑÑ Ð²Ñполнение двÑÑ ÑÑловий. Ðо-пеÑвÑÑ , в Ñелевом каÑалоге Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð²ÐºÐ»ÑÑÐµÐ½Ñ ÐºÐ¾Ð½ÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ (Ñм. data_checksums), ÑÑÐ¾Ð±Ñ Ð½Ðµ пÑоизоÑло повÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð·-за Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑпомогаÑелÑнÑÑ Ð±Ð¸Ñов. ÐÑо ÑÑловие бÑÐ´ÐµÑ Ð¿ÑовеÑÑÑÑÑÑ Ð¿ÐµÑед инкÑеменÑалÑнÑм воÑÑÑановлением â в ÑлÑÑае оÑÑÑÑÑÑÐ²Ð¸Ñ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑÑмм опеÑаÑÐ¸Ñ Ð¿ÑеÑÑваеÑÑÑ. Ðо-вÑоÑÑÑ , Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð° ÑÐ¸Ð½Ñ ÑонноÑÑÑ Ñайлаpg_controlÑ ÑоÑÑоÑнием каÑалога даннÑÑ . ÐÑо ÑÑловие нелÑÐ·Ñ Ð¿ÑовеÑиÑÑ Ð² наÑале воÑÑÑановлениÑ, Ñак ÑÑо гаÑанÑиÑоваÑÑ Ð¿ÑавилÑноÑÑÑ Ð¸Ð½ÑоÑмаÑии вpg_controlдолжен полÑзоваÑелÑ. ÐоÑÑÐ¾Ð¼Ñ Ð¸ÑполÑзоваÑÑ Ñежим LSN ÑекомендÑеÑÑÑ Ð½Ðµ во вÑÐµÑ ÑиÑÑаÑиÑÑ , напÑимеÑ, он пÑоÑивопоказан, когда Ñайлpg_controlповÑеждÑн или его ÑодеÑÐ¶Ð¸Ð¼Ð¾Ð¼Ñ Ð½ÐµÐ»ÑÐ·Ñ Ð´Ð¾Ð²ÐµÑÑÑÑ: поÑле вÑполнениÑpg_resetxlog, поÑле воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð· копии без пÑоÑедÑÑÑ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¶ÑÑнала и Ñ. д.NONEâ обÑÑное воÑÑÑановление без инкÑеменÑалÑнÑÑ Ð¾Ð¿ÑимизаÑий.
Ðне завиÑимоÑÑи Ð¾Ñ Ð²ÑбÑанного инкÑеменÑалÑного Ñежима, pg_probackup бÑÐ´ÐµÑ Ð¿ÑовеÑÑÑÑ, ÑÑо Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм ÑелевÑм каÑалогом не ÑабоÑÐ°ÐµÑ Ð¿ÑоÑеÑÑ postmaster и знаÑÐµÐ½Ð¸Ñ system-identifier в Ñелевом ÑкземплÑÑе и копии ÑовпадаÑÑ.
ÐÑедположим, Ð²Ñ Ñ Ð¾ÑиÑе воÑÑÑановиÑÑ ÑÑаÑÑй ведÑÑий ÑеÑÐ²ÐµÑ Ð² виде Ñеплики поÑле пеÑеклÑÑениÑ, иÑполÑзÑÑ Ð¸Ð½ÐºÑеменÑалÑное воÑÑÑановление в Ñежиме LSN:
================================================================================================================================================== Instance Version ID Recovery Time Mode WAL Mode TLI Time Data WAL Zalg Zratio Start LSN Stop LSN Status ================================================================================================================================================== node 17 SBOL8S 2024-04-09 18:19:43.707720+03 DELTA STREAM 16/15 3s 114MB 64MB lz4 1.42 0/3C003020 0/3E8D4930 OK node 17 SBOL8G 2024-04-09 18:19:32.594670+03 PTRACK STREAM 15/15 4s 30MB 16MB zlib 2.23 0/31000028 0/310029E0 OK node 17 SBOL83 2024-04-09 18:19:22.269595+03 PAGE STREAM 15/15 7s 46MB 32MB pglz 1.44 0/29000028 0/2A0000F8 OK node 17 SBOL7P 2024-04-09 18:19:06.557301+03 FULL STREAM 15/0 6s 144MB 16MB zstd 2.47 0/22000028 0/220001C8 OK backup_user@backup_host:~$ pg_probackup restore -B /mnt/backups --instance=node -R -I lsn INFO: Destination directory and tablespace directories are empty, disable incremental restore INFO: Validating parents for backup SBOL8S INFO: Validating backup SBOL7P INFO: Backup SBOL7P data files are valid INFO: Validating backup SBOL83 INFO: Backup SBOL83 data files are valid INFO: Validating backup SBOL8G INFO: Backup SBOL8G data files are valid INFO: Validating backup SBOL8S INFO: Backup SBOL8S data files are valid INFO: Backup SBOL8S WAL segments are valid INFO: Backup SBOL8S is valid. INFO: Restoring the database from the backup starting at 2024-04-09 18:19:40+03 INFO: Start restoring backup files. PGDATA size: 616MB INFO: Backup files are restored. Transferred bytes: 616MB, time elapsed: 2s INFO: Restore incremental ratio (less is better): 100% (616MB/616MB) INFO: Syncing restored files to disk INFO: Restored backup files are synced, time elapsed: 2s INFO: Restore of backup SBOL8S completed.
ÐÑимеÑание
ÐнкÑеменÑалÑное воÑÑÑановление возможно ÑолÑко Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¹, Ñ ÐºÐ¾ÑоÑÑÑ
program_version болÑÑе или Ñавна 2.4.0.
ЧаÑÑиÑное воÑÑÑановление
ÐÑли Ð²Ñ Ð¿Ð¾Ð´Ð³Ð¾ÑовилиÑÑ Ðº ÑаÑÑиÑÐ½Ð¾Ð¼Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾ Ñого, как Ñделали ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе воÑÑÑановиÑÑ ÑолÑко некоÑоÑÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , иÑполÑзÑÑ Ð¿Ð°ÑамеÑÑÑ ÑаÑÑиÑного воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ restore.
ЧÑÐ¾Ð±Ñ Ð²Ð¾ÑÑÑановиÑÑ ÑолÑко некоÑоÑÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, вÑполниÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ restore как минимÑм Ñо ÑледÑÑÑими паÑамеÑÑами:
pg_probackup restore -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--db-include=имÑ_базÑ
ÐлÑÑ --db-include Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑÑÑ Ð¼Ð½Ð¾Ð³Ð¾ÐºÑаÑно. ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ Ð²Ð¾ÑÑÑановиÑÑ ÑолÑко Ð±Ð°Ð·Ñ db1 и db2, вÑполниÑе ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
pg_probackup restore -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--db-include=db1 --db-include=db2
ЧÑÐ¾Ð±Ñ Ð¸ÑклÑÑиÑÑ Ð¾Ð´Ð½Ñ Ð¸Ð»Ð¸ неÑколÑко баз из ÑиÑла воÑÑÑанавливаемÑÑ
, иÑполÑзÑйÑе клÑÑ --db-exclude:
pg_probackup restore -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--db-exclude=имÑ_базÑ
ÐлÑÑ --db-exclude Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑÑÑ Ð¼Ð½Ð¾Ð³Ð¾ÐºÑаÑно. ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ Ð¿Ñи воÑÑÑановлении иÑклÑÑиÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
db1 и db2, вÑполниÑе ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
pg_probackup restore -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--db-exclude=db1 --db-exclude=db2
ÐеÑ
анизм ÑаÑÑиÑного воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑаÑÑÑиÑÑÐ²Ð°ÐµÑ Ð½Ð° Ñо, ÑÑо в пÑоÑеÑÑе воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Postgres Pro налиÑие пÑÑÑÑÑ
Ñайлов не бÑÐ´ÐµÑ Ð¿Ñоблемой, Ñак как ÑÐ°Ð¹Ð»Ñ Ð¸ÑклÑÑÑннÑÑ
баз даннÑÑ
воÑÑÑанавливаÑÑÑÑ Ð¿ÑÑÑÑми. ÐоÑле ÑÑпеÑного запÑÑка клаÑÑеÑа Postgres Pro воÑÑÑановленнÑе опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸ÑклÑÑÑннÑÑ
баз даннÑÑ
можно ÑдалиÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ DROP DATABASE.
ЧÑÐ¾Ð±Ñ Ð¼Ð°ÐºÑималÑно бÑÑÑÑо ÑазделиÑÑ Ð¾Ð´Ð¸Ð½ клаÑÑеÑ, ÑодеÑжаÑий неÑколÑко баз даннÑÑ
, на ÑазнÑе клаÑÑеÑÑ, можно вÑполниÑÑ ÑаÑÑиÑное воÑÑÑановление иÑÑ
одного клаÑÑеÑа в виде ведомого, пеÑедав клÑÑ --restore-as-replica Ð´Ð»Ñ Ð¾Ð¿ÑеделÑннÑÑ
баз даннÑÑ
.
ÐÑимеÑание
ÐÐ°Ð·Ñ template0 и template1 воÑÑÑанавливаÑÑÑÑ Ð²Ñегда.
ÐÑимеÑание
Ðз-за оÑобенноÑÑей воÑÑÑановлениÑ, пÑиÑÑÑиÑ
веÑÑиÑм Postgres Pro до 12, пÑи ÑаÑÑиÑном воÑÑÑановлении клаÑÑеÑа Postgres Pro ÑÑиÑ
веÑÑий ÑекомендÑеÑÑÑ ÑÑÑановиÑÑ Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа hot_standby знаÑение off. РпÑоÑивном ÑлÑÑае пÑи воÑÑÑановлении возможен Ñбой.
ÐÑполнение воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени (PITR)
ÐÑли Ð²Ñ Ð½Ð°ÑÑÑаивали непÑеÑÑвное аÑÑ Ð¸Ð²Ð¸Ñование WAL до ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе воÑÑÑановиÑÑ ÑоÑÑоÑние клаÑÑеÑа на лÑбой Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени (до заданной ÑоÑки воÑÑÑановлениÑ), иÑполÑзÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ restore паÑамеÑÑÑ ÑоÑки воÑÑÑановлениÑ.
ÐÐ»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ñипа STREAM или ARCHIVE, но пÑи ÑÑом обÑзаÑелÑно налиÑие аÑÑ
ива WAL Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ или более Ñаннего. ÐÑли паÑамеÑÑ -i/--backup-id не задан, pg_probackup авÑомаÑиÑеÑки вÑбиÑÐ°ÐµÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ, ближайÑÑÑ Ðº заданной Ñели воÑÑÑановлениÑ, и наÑÐ¸Ð½Ð°ÐµÑ Ð¿ÑоÑеÑÑ Ð²Ð¾ÑÑÑановлениÑ. РпÑоÑивном ÑлÑÑае pg_probackup попÑÑаеÑÑÑ Ð²Ð¾ÑÑÑановиÑÑ Ð´Ð¾ заданной Ñели воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð½Ð¾ ÐºÐ¾Ð¿Ð¸Ñ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм ид_ÑезеÑвной_копии.
ЧÑÐ¾Ð±Ñ Ð²Ð¾ÑÑÑановиÑÑ ÑоÑÑоÑние клаÑÑеÑа на опÑеделÑннÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени, ÑкажиÑе ÑÑо вÑÐµÐ¼Ñ Ð² паÑамеÑÑе
--recovery-target-time, в ÑоÑмаÑе timestamp. ÐапÑимеÑ:pg_probackup restore -B
каÑалог_копий--instance=имÑ_ÑкземплÑÑа--recovery-target-time="2024-04-10 18:18:26+03"ЧÑÐ¾Ð±Ñ Ð²Ð¾ÑÑÑановиÑÑ ÑоÑÑоÑние клаÑÑеÑа до опÑеделÑнной ÑÑанзакÑии, воÑполÑзÑйÑеÑÑ ÐºÐ»ÑÑом
--recovery-target-xid:pg_probackup restore -B
каÑалог_копий--instance=имÑ_ÑкземплÑÑа--recovery-target-xid=687ЧÑÐ¾Ð±Ñ Ð²Ð¾ÑÑÑановиÑÑ ÑоÑÑоÑние клаÑÑеÑа до опÑеделÑнной позиÑии в жÑÑнале (LSN), воÑполÑзÑйÑеÑÑ ÐºÐ»ÑÑом
--recovery-target-lsn:pg_probackup restore -B
каÑалог_копий--instance=имÑ_ÑкземплÑÑа--recovery-target-lsn=16/B374D848ЧÑÐ¾Ð±Ñ Ð²Ð¾ÑÑÑановиÑÑ ÑоÑÑоÑние клаÑÑеÑа до заданной именованной ÑоÑки воÑÑÑановлениÑ, воÑполÑзÑйÑеÑÑ ÐºÐ»ÑÑом
--recovery-target-name:pg_probackup restore -B
каÑалог_копий--instance=имÑ_ÑкземплÑÑа--recovery-target-name="before_app_upgrade"ЧÑÐ¾Ð±Ñ Ð²Ð¾ÑÑÑановиÑÑ Ð¿Ð¾Ñледнее возможное ÑоÑÑоÑние, иÑÑ Ð¾Ð´Ñ Ð¸Ð· ÑодеÑжимого аÑÑ Ð¸Ð²Ð° WAL, пеÑедайÑе в паÑамеÑÑе
--recovery-targetзнаÑениеlatest:pg_probackup restore -B
каÑалог_копий--instance=имÑ_ÑкземплÑÑа--recovery-target="latest"ЧÑÐ¾Ð±Ñ Ð²Ð¾ÑÑÑановиÑÑ Ñамое Ñаннее из возможнÑÑ ÑоглаÑованное ÑоÑÑоÑние клаÑÑеÑа, пеÑедайÑе в паÑамеÑÑе
--recovery-targetзнаÑениеimmediate:pg_probackup restore -B
каÑалог_копий--instance=имÑ_ÑкземплÑÑа--recovery-target='immediate'
ÐÑполÑзование pg_probackup в ÑдалÑнном Ñежиме
ÐÑогÑамма pg_probackup поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑабоÑÑ Ð² ÑдалÑнном Ñежиме, Ñо еÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполнÑÑÑ Ð¾Ð¿ÐµÑаÑии backup и restore ÑдалÑнно, иÑполÑзÑÑ SSH. Ð ÑÑом Ñежиме каÑалог ÑезеÑвнÑÑ
копий ÑаÑполагаеÑÑÑ Ð² локалÑной ÑиÑÑеме, а Ñелевой ÑкземплÑÑ Postgres Pro ÑабоÑÐ°ÐµÑ Ð² ÑдалÑнной. ÐÑи ÑÑом pg_probackup должен бÑÑÑ ÑÑÑановлен в обеиÑ
ÑиÑÑемаÑ
.
ÐÑимеÑание
pg_probackup ÑаÑÑÑиÑÑÐ²Ð°ÐµÑ Ð½Ð° Ñо, ÑÑо ÑÐ·Ð»Ñ Ð±ÑдÑÑ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑвоваÑÑ Ð¼ÐµÐ¶Ð´Ñ Ñобой Ñ Ð¸ÑполÑзованием SSH без паÑолÑ.
ÐÑимеÑание
Ðомимо подклÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾ SSH, pg_probackup иÑполÑзÑÐµÑ Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑдалÑннÑми опеÑаÑиÑми обÑÑное подклÑÑение к базе даннÑÑ . Ðа подÑобной инÑоÑмаÑией о наÑÑÑойке подклÑÑÐµÐ½Ð¸Ñ Ðº базе даннÑÑ Ð¾Ð±ÑаÑиÑеÑÑ Ðº ÑÐ°Ð·Ð´ÐµÐ»Ñ ÐаÑÑÑойка клаÑÑеÑа Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ .
ТипиÑÐ½Ð°Ñ ÑÑ ÐµÐ¼Ð° его иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²ÑглÑÐ´Ð¸Ñ Ñак:
Ð ÑиÑÑеме ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°ÑÑÑойÑе pg_probackup, как опиÑÑваеÑÑÑ Ð² подÑазделе УÑÑановка и наÑÑÑойка. ÐÐ»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ add-instance и set-config Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ задаÑÑ Ð¿Ð°ÑамеÑÑÑ ÑдалÑнного ÑеÑвеÑа, ÑказÑваÑÑие на ÑеÑÐ²ÐµÑ Ñ ÑкземплÑÑом Postgres Pro.
ÐÑли Ð²Ñ Ñ Ð¾ÑиÑе в ÑдалÑнном Ñежиме вÑполнÑÑÑ ÑÑÑаниÑное копиÑование (PAGE), иÑполÑзоваÑÑ Ð´Ð¾ÑÑÐ°Ð²ÐºÑ WAL в Ñежиме ARCHIVE или оÑÑÑеÑÑвлÑÑÑ Ð²Ð¾ÑÑÑановление PITR, наÑÑÑойÑе непÑеÑÑвное аÑÑ Ð¸Ð²Ð¸Ñование WAL Ñ ÑеÑвеÑа ÐРв ÑиÑÑÐµÐ¼Ñ ÑезеÑвного копиÑованиÑ, как опиÑано в подÑазделе ÐаÑÑÑойка непÑеÑÑвного аÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ WAL. ÐÐ»Ñ ÑÑого в ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ archive-push и archive-get ÑÑебÑеÑÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð¿Ð°ÑамеÑÑÑ ÑдалÑнного ÑеÑвеÑа, ÑказÑваÑÑие на ÑеÑвеÑ, где Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ ÐºÐ°Ñалог ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.
ÐапÑÑÑиÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ backup или restore Ñ Ð¿Ð°ÑамеÑÑами ÑдалÑнного ÑеÑвеÑа в ÑиÑÑеме ÑезеÑвного копиÑованиÑ. pg_probackup подклÑÑиÑÑÑ Ðº ÑдалÑнной ÑиÑÑеме по SSH и ÑооÑвеÑÑÑвенно ÑоздаÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð² локалÑной ÑиÑÑеме или воÑÑÑÐ°Ð½Ð¾Ð²Ð¸Ñ Ð² ÑдалÑнной ÑиÑÑеме Ñанее ÑделаннÑÑ ÐºÐ¾Ð¿Ð¸Ñ.
ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ ÑоздаÑÑ Ð¿Ð¾Ð»Ð½ÑÑ Ð°ÑÑ
ивнÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа Postgres Pro, ÑабоÑаÑÑего в ÑдалÑнной ÑиÑÑеме Ñ Ð°Ð´ÑеÑом 192.168.0.2, подклÑÑивÑиÑÑ Ðº ÑеÑвеÑÑ Ð¿Ð¾ SSH ÑеÑез поÑÑ 2302 Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ полÑзоваÑÐµÐ»Ñ postgres, вÑполниÑе:
pg_probackup backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-b FULL --remote-user=postgres --remote-host=192.168.0.2 --remote-port=2302
ЧÑÐ¾Ð±Ñ Ð²Ð¾ÑÑÑановиÑÑ Ð¿Ð¾ÑледнÑÑ Ð¸Ð¼ÐµÑÑÑÑÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð² ÑдалÑнной ÑиÑÑеме Ñ Ð°Ð´ÑеÑом 192.168.0.2, подклÑÑивÑиÑÑ Ðº ÑеÑвеÑÑ Ð¿Ð¾ SSH ÑеÑез поÑÑ 2302 Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ полÑзоваÑÐµÐ»Ñ postgres, вÑполниÑе:
pg_probackup restore -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--remote-user=postgres --remote-host=192.168.0.2 --remote-port=2302
ÐÐ»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð°ÑÑ
ивнÑÑ
копий или воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени в ÑдалÑнном Ñежиме ÑÑебÑеÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑÐ½Ð°Ñ Ð¸Ð½ÑоÑмаÑиÑ: Ñелевой адÑеÑ, поÑÑ Ð¸ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð´Ð»Ñ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ SSH-подклÑÑÐµÐ½Ð¸Ñ c ÑеÑвеÑа ÐРк ÑиÑÑеме, где наÑ
одиÑÑÑ ÐºÐ°Ñалог копий. ÐÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° restore_command Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑегменÑов WAL из аÑÑ
ива в каÑалог Postgres Pro pg_wal.
ÐÐ»Ñ Ð¿ÐµÑедаÑи ÑÑой инÑоÑмаÑии Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе задаÑÑ Ð¿Ð°ÑамеÑÑÑ ÑдалÑнного аÑÑ Ð¸Ð²Ð° WAL.
ÐапÑимеÑ, Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ñледней копии в ÑдалÑнной ÑиÑÑеме, наÑÑÑоенной Ð´Ð»Ñ Ð¿ÑиÑма подклÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ postgres по адÑеÑÑ 192.168.0.2 ÑеÑез поÑÑ 2302, Ñ Ð¸ÑполÑзованием каÑалога ÑезеÑвнÑÑ
копий в ÑиÑÑеме, наÑÑÑоенной Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ backup по адÑеÑÑ 192.168.0.3 ÑеÑез поÑÑ 2303, вÑполниÑе:
pg_probackup restore -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--remote-user=postgres --remote-host=192.168.0.2 --remote-port=2302 --archive-host=192.168.0.3 --archive-port=2303 --archive-user=backup
ÐеÑеданнÑе аÑгÑменÑÑ Ð±ÑдÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ñи ÑоÑÑавлении ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ restore_command:
restore_command = '"пÑÑÑ_инÑÑаллÑÑии/pg_probackup" archive-get -B "каÑалог_копий" --instance=имÑ_ÑкземплÑÑа--wal-file-path=%p --wal-file-name=%f --remote-host=192.168.0.3 --remote-port=2303 --remote-user=backup'
Также Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе воÑполÑзоваÑÑÑÑ ÐºÐ»ÑÑом --restore-command и пеÑедаÑÑ Ð²ÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ restore_command Ñеликом:
pg_probackup restore -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--remote-user=postgres --remote-host=192.168.0.2 --remote-port=2302 --restore-command='"пÑÑÑ_инÑÑаллÑÑии/pg_probackup" archive-get -B "каÑалог_копий" --instance=имÑ_ÑкземплÑÑа--wal-file-path=%p --wal-file-name=%f --remote-host=192.168.0.3 --remote-port=2303 --remote-user=backup'
ÐÑимеÑание
ÐÑполÑзование ÑдалÑнного Ñежима на плаÑÑоÑме Windows в наÑÑоÑÑее вÑÐµÐ¼Ñ Ð½Ðµ поддеÑживаеÑÑÑ.
ÐапÑÑк pg_probackup в паÑаллелÑнÑÑ Ð¿Ð¾ÑокаÑ
ÐÐ¾Ð¼Ð°Ð½Ð´Ñ backup, restore, merge, delete, checkdb и validate могÑÑ Ð²ÑполнÑÑÑÑÑ Ð² неÑколÑко паÑаллелÑнÑÑ Ð¿Ð¾Ñоков. ÐÑо Ð¼Ð¾Ð¶ÐµÑ ÑÑÑеÑÑвенно ÑÑкоÑÑÑÑ ÑабоÑÑ pg_probackup пÑи налиÑии доÑÑаÑоÑнÑÑ ÑеÑÑÑÑов (ÑÐ´ÐµÑ Ð¿ÑоÑеÑÑоÑа, пÑоизводиÑелÑноÑÑи диÑковой подÑиÑÑÐµÐ¼Ñ Ð¸ ÑеÑи).
ÐаÑаллелÑнÑм вÑполнением ÑпÑавлÑÐµÑ ÐºÐ»ÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки -j/--threads. ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ Ð·Ð°Ð¿ÑÑÑиÑÑ ÑезеÑвное копиÑование в ÑеÑÑÑе паÑаллелÑнÑÑ
поÑока, вÑполниÑе:
pg_probackup backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-b FULL -j 4
ÐÑимеÑание
ÐоÑÑÑановление пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ð² паÑаллелÑном Ñежиме ÑолÑко на ÑÑапе копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð· каÑалога копий в каÑалог даннÑÑ ÐºÐ»Ð°ÑÑеÑа. ÐÑи запÑÑке ÑеÑвеÑа Postgres Pro он должен бÑÐ´ÐµÑ Ð²Ð¾ÑпÑоизвеÑÑи запиÑи из WAL, а ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоиÑÑ Ð¾Ð´Ð¸ÑÑ ÑолÑко поÑледоваÑелÑно.
ÐаÑÑÑойка pg_probackup
ÐÑоиниÑиализиÑовав каÑалог ÑезеÑвнÑÑ
копий и добавив опÑеделение копиÑÑемого ÑкземплÑÑа, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ñайл pg_probackup.conf в каÑалоге Ð´Ð»Ñ Ñонкой наÑÑÑойки конÑигÑÑаÑии pg_probackup.каÑалог_копий/backups/имÑ_ÑкземплÑÑа
ÐапÑимеÑ, ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ backup и checkdb ÑабоÑаÑÑ ÑеÑез обÑÑное подклÑÑение Postgres Pro. ЧÑÐ¾Ð±Ñ ÐºÐ°Ð¶Ð´Ñй Ñаз не задаваÑÑ Ð¿Ð°ÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð² командной ÑÑÑоке, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе опÑеделиÑÑ Ð¸Ñ
в Ñайле конÑигÑÑаÑии pg_probackup.conf Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ set-config.
ÐÑимеÑание
РедакÑиÑоваÑÑ pg_probackup.conf вÑÑÑнÑÑ Ð½Ðµ ÑекомендÑеÑÑÑ.
ÐзнаÑалÑно pg_probackup.conf ÑодеÑÐ¶Ð¸Ñ ÑледÑÑÑие паÑамеÑÑÑ:
PGDATAâ пÑÑÑ Ðº каÑÐ°Ð»Ð¾Ð³Ñ Ð´Ð°Ð½Ð½ÑÑ ÐºÐ»Ð°ÑÑеÑа, коÑоÑÑй бÑÐ´ÐµÑ ÐºÐ¾Ð¿Ð¸ÑоваÑÑÑÑ.system-identifierâ ÑникалÑнÑй иденÑиÑикаÑÐ¾Ñ ÑкземплÑÑа Postgres Pro.
ÐÑ Ð¼Ð¾Ð¶ÐµÑе дополниÑелÑно ÑÑÑановиÑÑ Ð¿Ð°ÑамеÑÑÑ ÑдалÑнного Ñежима, Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¹, Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¶ÑÑнала и ÑжаÑиÑ, иÑполÑзÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ set-config:
pg_probackup set-config -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа[--external-dirs=пÑÑÑ_внеÑнего_каÑалога] [паÑамеÑÑÑ_ÑдалÑнного_Ñежима] [паÑамеÑÑÑ_ÑоединениÑ] [паÑамеÑÑÑ_Ñ ÑанениÑ] [паÑамеÑÑÑ_жÑÑнала]
ЧÑÐ¾Ð±Ñ Ð¿ÑоÑмоÑÑеÑÑ ÑекÑÑие паÑамеÑÑÑ, вÑполниÑе ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ:
pg_probackup show-config -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа
ÐаÑамеÑÑÑ, заданнÑе в pg_probackup.conf, можно пеÑеопÑеделиÑÑ, Ð·Ð°Ð´Ð°Ð²Ð°Ñ ÑооÑвеÑÑÑвÑÑÑие пеÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ паÑамеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки пÑи вÑзове команд pg_probackup.
Указание паÑамеÑÑов подклÑÑениÑ
ÐÑли Ð²Ñ Ð¾Ð¿ÑеделиÑе ÑвойÑÑва ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð² Ñайле конÑигÑÑаÑии pg_probackup.conf, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе не ÑказÑваÑÑ Ð¿Ð°ÑамеÑÑÑ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð²Ð¾ вÑеÑ
поÑледÑÑÑиÑ
командаÑ
pg_probackup. Ðднако еÑли ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÑооÑвеÑÑÑвÑÑÑие пеÑеменнÑе окÑÑжениÑ, они имеÑÑ Ð±Ð¾Ð»ÑÑий пÑиоÑиÑеÑ. ÐаÑамеÑÑÑ, заданнÑе в командной ÑÑÑоке, пеÑеопÑеделÑÑÑ ÐºÐ°Ðº пеÑеменнÑе окÑÑжениÑ, Ñак и ÑвойÑÑва в Ñайле конÑигÑÑаÑии.
ÐÑли не задано ниÑего, иÑполÑзÑÑÑÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ. Ð ÑаÑÑноÑÑи, pg_probackup пÑÑаеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº Unix-ÑокеÑÑ Ð»Ð¾ÐºÐ°Ð»Ñного ÑеÑвеÑа (или к localhost в Windows), а в каÑеÑÑве имени Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
и имени полÑзоваÑÐµÐ»Ñ Ð²ÑбиÑÐ°ÐµÑ Ð·Ð½Ð°Ñение пеÑеменной окÑÑÐ¶ÐµÐ½Ð¸Ñ PGUSER либо Ð¸Ð¼Ñ ÑекÑÑего полÑзоваÑÐµÐ»Ñ ÐС.
УпÑавление каÑалогом ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹
С помоÑÑÑ pg_probackup Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑпÑавлÑÑÑ ÑезеÑвнÑми копиÑми в командной ÑÑÑоке:
ÐÑоÑмоÑÑ Ð¸Ð½ÑоÑмаÑии о ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸ÑÑ
ЧÑÐ¾Ð±Ñ Ð¿ÑоÑмоÑÑеÑÑ ÑпиÑок ÑÑÑеÑÑвÑÑÑÐ¸Ñ ÐºÐ¾Ð¿Ð¸Ð¹ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑкземплÑÑа, вÑполниÑе командÑ:
pg_probackup show -B каÑалог_копийpg_probackup вÑÐ²Ð¾Ð´Ð¸Ñ ÑпиÑок вÑÐµÑ Ð¸Ð¼ÐµÑÑÐ¸Ñ ÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹. ÐапÑимеÑ:
BACKUP INSTANCE 'node' ================================================================================================================================================== Instance Version ID Recovery Time Mode WAL Mode TLI Time Data WAL Zalg Zratio Start LSN Stop LSN Status ================================================================================================================================================== node 17 SBOL94 2024-04-09 18:19:56.603355+03 FULL ARCHIVE 1/0 6s 377MB 16MB lz4 1.46 0/41000028 0/420000C0 OK node 17 SBOL8S 2024-04-09 18:19:43.707720+03 DELTA STREAM 1/1 3s 114MB 64MB lz4 1.42 0/3C003020 0/3E8D4930 OK node 17 SBOL8G 2024-04-09 18:19:32.594670+03 PTRACK STREAM 1/1 4s 30MB 16MB zlib 2.23 0/31000028 0/310029E0 OK node 17 SBOL83 2024-04-09 18:19:22.269595+03 PAGE STREAM 1/1 7s 46MB 32MB pglz 1.44 0/29000028 0/2A0000F8 OK node 17 SBOL7P 2024-04-09 18:19:06.557301+03 FULL STREAM 1/0 6s 144MB 16MB zstd 2.47 0/22000028 0/220001C8 OK
ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ копии вÑдаÑÑÑÑ ÑледÑÑÑие ÑведениÑ:
Instanceâ Ð¸Ð¼Ñ ÑкземплÑÑа.Versionâ Ð±Ð°Ð·Ð¾Ð²Ð°Ñ Ð²ÐµÑÑÐ¸Ñ Postgres Pro.IDâ иденÑиÑикаÑÐ¾Ñ ÑезеÑвной копии.Recovery timeâ Ñамое Ñанее вÑемÑ, на коÑоÑое можно воÑÑÑановиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð¸Ð· данной копии.Modeâ Ñежим, в коÑоÑом бÑла Ñделана копиÑ. ÐозможнÑе знаÑениÑ:FULL(полнаÑ),PAGE(ÑÑÑаниÑнаÑ),DELTA(инкÑеменÑалÑнаÑ),PTRACK(копиÑование изменений).WAL Modeâ Ñежим доÑÑавки WAL. ÐозможнÑе знаÑениÑ:STREAM(поÑоковÑй) иARCHIVE(аÑÑ Ð¸Ð²Ð½Ñй).TLIâ иденÑиÑикаÑоÑÑ Ð»Ð¸Ð½Ð¸Ð¸ вÑемени ÑекÑÑей копии и ÐµÑ ÑодиÑелÑ.Timeâ вÑемÑ, за коÑоÑое бÑла вÑполнена Ð´Ð°Ð½Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ.Dataâ обÑÑм Ñайлов даннÑÑ Ð² ÑÑой копии. ÐÑо знаÑение не вклÑÑÐ°ÐµÑ Ð² ÑÐµÐ±Ñ Ð¾Ð±ÑÑм Ñайлов WAL. ÐÐ»Ñ ÐºÐ¾Ð¿Ð¸Ð¹, ÑделаннÑÑ Ð² Ñежиме STREAM, обÑий ÑÐ°Ð·Ð¼ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑаÑÑÑиÑаÑÑ, Ñложив знаÑениÑDataиWAL.WALâ ÑÐ°Ð·Ð¼ÐµÑ Ð½ÐµÑжаÑÑÑ Ñайлов WAL, коÑоÑÑе Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ñ Ð² пÑоÑеÑÑе воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ Ð´Ð»Ñ Ð´Ð¾ÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ ÑоглаÑованного ÑоÑÑоÑниÑ.compress-algâ алгоÑиÑм ÑжаÑиÑ, иÑполÑзÑемÑй пÑи полÑÑении ÑезеÑвной копии. ÐозможнÑе знаÑениÑ:zlib,pglz,lz4,zstdиnone(ÑжаÑие не пÑоизводилоÑÑ).Zratioâ коÑÑÑиÑÐ¸ÐµÐ½Ñ ÑжаÑиÑ, вÑÑиÑленнÑй как оÑноÑение «uncompressed-bytes» (обÑÑм неÑжаÑÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² байÑÐ°Ñ ) к «data-bytes» (иÑоговÑй обÑÑм даннÑÑ ).Start LSNâ поÑледоваÑелÑнÑй Ð½Ð¾Ð¼ÐµÑ Ð² жÑÑнале WAL, ÑооÑвеÑÑÑвÑÑÑий наÑÐ°Ð»Ñ Ð¿ÑоÑеÑÑа копиÑованиÑ. С ÑÑой позиÑии накаÑÑваÑÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ (REDO) в пÑоÑеÑÑе воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Postgres Pro.Stop LSNâ поÑледоваÑелÑнÑй Ð½Ð¾Ð¼ÐµÑ Ð² жÑÑнале WAL, ÑооÑвеÑÑÑвÑÑÑий оконÑÐ°Ð½Ð¸Ñ Ð¿ÑоÑеÑÑа копиÑованиÑ. ÐÑо позиÑÐ¸Ñ ÑоÑки ÑоглаÑованноÑÑи пÑи воÑÑÑановлении Postgres Pro.Statusâ ÑоÑÑоÑние ÑезеÑвной копии. ÐозможнÑе ваÑианÑÑ:OKâ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ñделана и пÑигодна к иÑполÑзованиÑ.DONEâ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ñделана, но не пÑовеÑена.RUNNINGâ ÑезеÑвное копиÑование вÑполнÑеÑÑÑ.MERGINGâ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð¾Ð±ÑединÑеÑÑÑ.MERGEDâ ÑÐ°Ð¹Ð»Ñ ÑезеÑвной копии бÑли ÑÑпеÑно обÑабоÑÐ°Ð½Ñ Ð² пÑоÑеÑÑе обÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¹, но ÐµÑ Ð¼ÐµÑаданнÑе еÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑÑÑ. ÐÑо ÑоÑÑоÑние могÑÑ Ð¸Ð¼ÐµÑÑ ÑолÑко полнÑе ÑезеÑвнÑе копии.DELETINGâ ÑÐ°Ð¹Ð»Ñ ÑезеÑвной копии ÑдалÑÑÑÑÑ.CORRUPTâ некоÑоÑÑе ÑÐ°Ð¹Ð»Ñ ÑезеÑвной копии повÑежденÑ.ERRORâ ÑезеÑвное копиÑование бÑло пÑеÑвано из-за неожиданной оÑибки.ORPHANâ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð½ÐµÐ¿Ñигодна к иÑполÑзованиÑ, Ñак как ÐµÑ ÑодиÑелÑÑÐºÐ°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð¸ÑпоÑÑена или оÑÑÑÑÑÑвÑеÑ.HIDDEN_FOR_TESTâ ÑкÑÐ¸Ð¿Ñ ÑеÑÑа помеÑил ÐºÐ¾Ð¿Ð¸Ñ ÐºÐ°Ðº неÑÑÑеÑÑвÑÑÑÑÑ. (СобÑÑвенно pg_probackup никогда не ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑÑо ÑоÑÑоÑние.)
ÐоÑÑÑановиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð¸Ð· копии можно ÑолÑко Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¹ Ñ ÑоÑÑоÑнием OK или DONE.
ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð±Ð¾Ð»ÐµÐµ подÑобнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ копии, ÑкажиÑе в команде show ÐµÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑ:
pg_probackup show -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-iид_ÑезеÑвной_копии
ÐÑÐ¸Ð¼ÐµÑ Ð²Ñвода:
#Configuration backup-mode = FULL stream = false compress-alg = lz4 compress-level = 1 from-replica = false #Compatibility block-size = 8192 xlog-block-size = 8192 checksum-version = 1 program-version = 2.7.3 server-version = 17 #Result backup info timelineid = 1 start-lsn = 0/41000028 stop-lsn = 0/420000C0 start-time = '2024-04-09 18:19:52+03' end-time = '2024-04-09 18:19:58+03' end-validation-time = '2024-04-09 18:19:59+03' recovery-xid = 757 recovery-time = '2024-04-09 18:19:56.603355+03' data-bytes = 395651278 wal-bytes = 16777216 uncompressed-bytes = 578552566 pgdata-bytes = 578552248 status = OK primary_conninfo = 'user=backup channel_binding=prefer host=localhost port=5432 sslmode=prefer sslcompression=0 sslcertmode=allow sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres gssdelegation=0 target_session_attrs=any load_balance_hosts=disable' content-crc = 3862224379
Ð ÑаÑÑиÑенном вÑводе пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе аÑÑибÑÑÑ:
compress-algâ алгоÑиÑм ÑжаÑиÑ, иÑполÑзÑемÑй пÑи полÑÑении ÑезеÑвной копии. ÐозможнÑе знаÑениÑ:zlib,pglz,lz4,zstdиnone(ÑжаÑие не пÑоизводилоÑÑ).compress-levelâ ÑÑÐ¾Ð²ÐµÐ½Ñ ÑжаÑиÑ, пÑименÑемÑй в пÑоÑеÑÑе ÑезеÑвного копиÑованиÑ.from-replicaâ пÑизнак Ñого, ÑÑо ÐºÐ¾Ð¿Ð¸Ñ Ð±Ñла Ñделана Ñ Ð²ÐµÐ´Ð¾Ð¼Ð¾Ð³Ð¾ ÑеÑвеÑа. ÐозможнÑе знаÑениÑ:1,0.block-sizeâ знаÑение паÑамеÑÑа block_size, ÑÑÑановленное в клаÑÑеÑе Postgres Pro, Ñ ÐºÐ¾ÑоÑого бÑла Ñделана копиÑ.checksum-versionâ пÑизнак вклÑÑÐµÐ½Ð¸Ñ Ð¿Ð°ÑамеÑÑа data_checksums в иÑÑ Ð¾Ð´Ð½Ð¾Ð¼ клаÑÑеÑе Postgres Pro. ÐозможнÑе знаÑениÑ:1,0.program-versionâ Ð¿Ð¾Ð»Ð½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ pg_probackup, коÑоÑÐ°Ñ Ñоздала ÑÑÑ ÐºÐ¾Ð¿Ð¸Ñ.start-timeâ вÑÐµÐ¼Ñ Ð½Ð°Ñала ÑезеÑвного копиÑованиÑ.end-timeâ вÑÐµÐ¼Ñ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ ÑезеÑвного копиÑованиÑ.end-validation-timeâ вÑÐµÐ¼Ñ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ Ð¿ÑовеÑки ÑезеÑвной копии.expire-timeâ вÑемÑ, когда закÑеплÑÐ½Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð»Ð¸ÐºÐ²Ð¸Ð´Ð¸Ñована в ÑооÑвеÑÑÑвии Ñ Ð¿Ð¾Ð»Ð¸Ñикой Ñ ÑанениÑ. ÐÑÐ¾Ñ Ð°ÑÑибÑÑ Ð¸Ð¼ÐµÐµÑÑÑ ÑолÑко Ñ Ð·Ð°ÐºÑеплÑннÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.uncompressed-bytesâ ÑÐ°Ð·Ð¼ÐµÑ Ñайлов даннÑÑ Ð´Ð¾ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð² ÑÑÑÐ°Ð½Ð¸Ñ Ð¸ ÑжаÑиÑ. Ð ÑлÑÑае иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑжаÑÐ¸Ñ Ð¾ÑениÑÑ ÐµÐ³Ð¾ ÑÑÑекÑивноÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾, ÑопоÑÑавив обÑÑмuncompressed-bytes(байÑов неÑжаÑÑÑ Ð´Ð°Ð½Ð½ÑÑ ) Ñdata-bytes(байÑов даннÑÑ ).pgdata-bytesâ ÑÐ°Ð·Ð¼ÐµÑ Ñайлов даннÑÑ Postgres Pro на Ð¼Ð¾Ð¼ÐµÐ½Ñ ÐºÐ¾Ð¿Ð¸ÑованиÑ. ÐÑÑекÑивноÑÑÑ Ð¸Ð½ÐºÑеменÑалÑного меÑода копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ оÑениÑÑ, ÑопоÑÑавив обÑÑмpgdata-bytes(байÑов в PGDATA) Ñuncompressed-bytes(байÑов неÑжаÑÑÑ Ð´Ð°Ð½Ð½ÑÑ ).recovery-xidâ иденÑиÑикаÑÐ¾Ñ ÑÑанзакÑии, ÑооÑвеÑÑÑвÑÑÑей моменÑÑ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ ÑезеÑвного копиÑованиÑ.parent-backup-idâ иденÑиÑикаÑÐ¾Ñ ÑодиÑелÑÑкой копии. ÐпÑеделÑн ÑолÑко Ð´Ð»Ñ Ð¸Ð½ÐºÑеменÑалÑнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.primary_conninfoâ паÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ libpq, Ñ Ð¸ÑполÑзованием коÑоÑÑÑ Ð¿ÑоизводилоÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение к клаÑÑеÑÑ Postgres Pro Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑÑой ÑезеÑвной копии. ÐаÑÐ¾Ð»Ñ Ð² ÑÑи паÑамеÑÑÑ Ð½Ðµ вклÑÑаеÑÑÑ.noteâ ÑекÑÑовое пÑимеÑание, ÑвÑзанное Ñ ÐºÐ¾Ð¿Ð¸ÐµÐ¹.content-crcâ конÑÑолÑÐ½Ð°Ñ ÑÑмма Ñайлаbackup_content.control, ÑаÑÑÑиÑÐ°Ð½Ð½Ð°Ñ Ð¿Ð¾ алгоÑиÑÐ¼Ñ CRC32. Ðна позволÑÐµÑ Ð²ÑÑвиÑÑ Ð¿Ð¾Ð²Ñеждение меÑаданнÑÑ ÐºÐ¾Ð¿Ð¸Ð¸.
ÐÑ Ñакже можеÑе полÑÑиÑÑ Ð¿Ð¾Ð´ÑобнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑезеÑвной копии в ÑоÑмаÑе JSON:
pg_probackup show -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--format=json -i backup_id
ÐÑÐ¸Ð¼ÐµÑ Ð²Ñвода:
[
{
"instance": "node",
"backups": [
{
"id": "SBOL94",
"status": "OK",
"start-time": "2024-04-09 18:19:52+03",
"backup-mode": "FULL",
"wal": "ARCHIVE",
"compress-alg": "lz4",
"compress-level": 1,
"from-replica": "false",
"block-size": 8192,
"xlog-block-size": 8192,
"checksum-version": 1,
"program-version": "2.7.3",
"server-version": "17",
"current-tli": 16,
"parent-tli": 2,
"start-lsn": "0/41000028",
"stop-lsn": "0/420000C0",
"end-time": "2024-04-09 18:19:58+03",
"end-validation-time": "2024-04-09 18:19:59+03",
"recovery-xid": 757,
"recovery-time": "2024-04-09 18:19:56.603355+03",
"data-bytes": 395651278,
"wal-bytes": 16777216,
"uncompressed-bytes": 578552566,
"pgdata-bytes": 578552248,
"primary_conninfo": "user=backup channel_binding=prefer host=localhost port=5432 sslmode=prefer sslcompression=0 sslcertmode=allow sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres gssdelegation=0 target_session_attrs=any load_balance_hosts=disable",
"content-crc": 3862224379
}
]
}
]ÐÑоÑмоÑÑ Ð¾Ð³Ð»Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð°ÑÑ Ð¸Ð²Ð° WAL
ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾Ð± аÑÑ Ð¸Ð²Ðµ WAL Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑкземплÑÑа, вÑполниÑе командÑ:
pg_probackup show -BкаÑалог_копий[--instance=имÑ_ÑкземплÑÑа] --archive
pg_probackup вÑÐ²Ð¾Ð´Ð¸Ñ ÑпиÑок вÑÐµÑ Ð¸Ð¼ÐµÑÑÐ¸Ñ ÑÑ Ñайлов WAL, ÑгÑÑппиÑованнÑÑ Ð¿Ð¾ линиÑм вÑемени. ÐапÑимеÑ:
INFO: checking WAL file name "00000001000000000000001B" INFO: checking WAL file name "00000001000000000000001C" INFO: checking WAL file name "00000001000000000000001D" INFO: checking WAL file name "00000001000000000000001E" INFO: checking WAL file name "00000001000000000000001F" INFO: checking WAL file name "000000010000000000000020" INFO: checking WAL file name "000000010000000000000021" INFO: checking WAL file name "000000010000000000000022" INFO: checking WAL file name "000000010000000000000022.00000028.backup" INFO: checking WAL file name "000000010000000000000023" INFO: checking WAL file name "000000010000000000000024" INFO: checking WAL file name "000000010000000000000025" INFO: checking WAL file name "000000010000000000000026" INFO: checking WAL file name "000000010000000000000027" INFO: checking WAL file name "000000010000000000000028" INFO: checking WAL file name "000000010000000000000029" INFO: checking WAL file name "000000010000000000000029.00000028.backup" INFO: checking WAL file name "00000001000000000000002A" INFO: checking WAL file name "00000001000000000000002B" INFO: checking WAL file name "00000001000000000000002C" INFO: checking WAL file name "00000001000000000000002D" INFO: checking WAL file name "00000001000000000000002E" INFO: checking WAL file name "00000001000000000000002F" INFO: checking WAL file name "000000010000000000000030" INFO: checking WAL file name "000000010000000000000031" INFO: checking WAL file name "000000010000000000000031.00000028.backup" INFO: checking WAL file name "000000010000000000000032" INFO: checking WAL file name "000000010000000000000033" INFO: checking WAL file name "000000010000000000000034" INFO: checking WAL file name "000000010000000000000035" INFO: checking WAL file name "000000010000000000000036" INFO: checking WAL file name "000000010000000000000037" INFO: checking WAL file name "000000010000000000000038" INFO: checking WAL file name "000000010000000000000039" INFO: checking WAL file name "00000001000000000000003A" INFO: checking WAL file name "00000001000000000000003B" INFO: checking WAL file name "00000001000000000000003C" INFO: checking WAL file name "00000001000000000000003C.00003020.backup" INFO: checking WAL file name "00000001000000000000003D" INFO: checking WAL file name "00000001000000000000003E" INFO: checking WAL file name "00000001000000000000003F" INFO: checking WAL file name "000000010000000000000040" INFO: checking WAL file name "000000010000000000000041" INFO: checking WAL file name "000000010000000000000041.00000028.backup" INFO: checking WAL file name "000000010000000000000042" ARCHIVE INSTANCE 'node' ================================================================================================================================ TLI Parent TLI Switchpoint Min Segno Max Segno N segments Size Zratio N backups Status ================================================================================================================================ 1 0 0/0 00000001000000000000001B 000000010000000000000042 40 640MB 1.00 5 OK
ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ линии вÑемени вÑдаÑÑÑÑ ÑледÑÑÑие ÑведениÑ:
TLIâ иденÑиÑикаÑÐ¾Ñ Ð»Ð¸Ð½Ð¸Ð¸ вÑемени.Parent TLIâ иденÑиÑикаÑÐ¾Ñ Ð»Ð¸Ð½Ð¸Ð¸ вÑемени, Ð¾Ñ ÐºÐ¾ÑоÑой бÑла оÑвеÑвлена даннаÑ.Switchpointâ LSN моменÑа, когда ÑÑа Ð»Ð¸Ð½Ð¸Ñ Ð²Ñемени оÑвеÑвилаÑÑ Ð¾Ñ ÑодиÑелÑÑкой.Min Segnoâ пеÑвÑй ÑÐµÐ³Ð¼ÐµÐ½Ñ WAL, оÑноÑÑÑийÑÑ Ðº ÑÑой линии вÑемени.Max Segnoâ поÑледний ÑÐµÐ³Ð¼ÐµÐ½Ñ WAL, оÑноÑÑÑийÑÑ Ðº ÑÑой линии вÑемени.N segmentsâ колиÑеÑÑво ÑегменÑов WAL, оÑноÑÑÑÐ¸Ñ ÑÑ Ðº ÑÑой линии вÑемени.Sizeâ обÑÑм, коÑоÑÑй занимаÑÑ ÑÐ°Ð¹Ð»Ñ Ð½Ð° диÑке.Zalgâ алгоÑиÑм ÑжаÑиÑ, иÑполÑзÑемÑй пÑи полÑÑении ÑезеÑвной копии. ÐозможнÑе знаÑениÑ:zlib,pglz,lz4,zstdиnone(ÑжаÑие не пÑоизводилоÑÑ).Zratioâ коÑÑÑиÑÐ¸ÐµÐ½Ñ ÑжаÑиÑ, вÑÑиÑлÑемÑй по ÑоÑмÑлеN segments*wal_segment_size*wal_block_size/Size.N backupsâ ÑиÑло копий, оÑноÑÑÑÐ¸Ñ ÑÑ Ðº ÑÑой линии вÑемени. ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÑобнÑÑ Ñведений об ÑÑÐ¸Ñ ÐºÐ¾Ð¿Ð¸ÑÑ Ð²Ð¾ÑполÑзÑйÑеÑÑ ÑоÑмаÑом JSON.Statusâ ÑоÑÑоÑние аÑÑ Ð¸Ð²Ð° WAL Ð´Ð»Ñ ÑÑой линии вÑемени. ÐозможнÑе знаÑениÑ:OKâ в аÑÑ Ð¸Ð²Ðµ пÑиÑÑÑÑÑвÑÑÑ Ð²Ñе ÑегменÑÑ WAL междÑMin SegnoиMax Segno.DEGRADEDâ оÑÑÑÑÑÑвÑÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе ÑегменÑÑ WAL междÑMin SegnoиMax Segno. ÐонÑÑÑ, какие ÑÐ°Ð¹Ð»Ñ ÑÑÑаÑенÑ, можно, поÑмоÑÑев ÑÑÐ¾Ñ Ð¾ÑÑÑÑ Ð² ÑоÑмаÑе JSON. Такой ÑÑаÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑÑ, еÑли неÑколÑко Ñайлов WAL (в ÑеÑедине поÑледоваÑелÑноÑÑи) бÑли ÑÐ´Ð°Ð»ÐµÐ½Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ delete Ñ Ð¿Ð°ÑамеÑÑом--delete-walв ÑооÑвеÑÑÑвии Ñ Ð¿Ð¾Ð»Ð¸Ñикой Ñ ÑанениÑ. ÐаннÑй ÑÑаÑÑÑ Ð½Ðµ влиÑÐµÑ Ð½Ð° коÑÑекÑноÑÑÑ Ð²Ð¾ÑÑÑановлениÑ, но воÑÑÑановиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð´Ð¾ некоÑоÑÑÑ ÑоÑек воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾.
ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð±Ð¾Ð»ÐµÐµ подÑобнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾Ð± аÑÑ Ð¸Ð²Ðµ WAL в ÑоÑмаÑе JSON, вÑполниÑе командÑ:
pg_probackup show -BкаÑалог_копий[--instance=имÑ_ÑкземплÑÑа] --archive --format=json
ÐÑÐ¸Ð¼ÐµÑ Ð²Ñвода:
INFO: checking WAL file name "00000001000000000000001B"
INFO: checking WAL file name "00000001000000000000001C"
INFO: checking WAL file name "00000001000000000000001D"
INFO: checking WAL file name "00000001000000000000001E"
INFO: checking WAL file name "00000001000000000000001F"
INFO: checking WAL file name "000000010000000000000020"
INFO: checking WAL file name "000000010000000000000021"
INFO: checking WAL file name "000000010000000000000022"
INFO: checking WAL file name "000000010000000000000022.00000028.backup"
INFO: checking WAL file name "000000010000000000000023"
INFO: checking WAL file name "000000010000000000000024"
INFO: checking WAL file name "000000010000000000000025"
INFO: checking WAL file name "000000010000000000000026"
INFO: checking WAL file name "000000010000000000000027"
INFO: checking WAL file name "000000010000000000000028"
INFO: checking WAL file name "000000010000000000000029"
INFO: checking WAL file name "000000010000000000000029.00000028.backup"
INFO: checking WAL file name "00000001000000000000002A"
INFO: checking WAL file name "00000001000000000000002B"
INFO: checking WAL file name "00000001000000000000002C"
INFO: checking WAL file name "00000001000000000000002D"
INFO: checking WAL file name "00000001000000000000002E"
INFO: checking WAL file name "00000001000000000000002F"
INFO: checking WAL file name "000000010000000000000030"
INFO: checking WAL file name "000000010000000000000031"
INFO: checking WAL file name "000000010000000000000031.00000028.backup"
INFO: checking WAL file name "000000010000000000000032"
INFO: checking WAL file name "000000010000000000000033"
INFO: checking WAL file name "000000010000000000000034"
INFO: checking WAL file name "000000010000000000000035"
INFO: checking WAL file name "000000010000000000000036"
INFO: checking WAL file name "000000010000000000000037"
INFO: checking WAL file name "000000010000000000000038"
INFO: checking WAL file name "000000010000000000000039"
INFO: checking WAL file name "00000001000000000000003A"
INFO: checking WAL file name "00000001000000000000003B"
INFO: checking WAL file name "00000001000000000000003C"
INFO: checking WAL file name "00000001000000000000003C.00003020.backup"
INFO: checking WAL file name "00000001000000000000003D"
INFO: checking WAL file name "00000001000000000000003E"
INFO: checking WAL file name "00000001000000000000003F"
INFO: checking WAL file name "000000010000000000000040"
INFO: checking WAL file name "000000010000000000000041"
INFO: checking WAL file name "000000010000000000000041.00000028.backup"
INFO: checking WAL file name "000000010000000000000042"
[
{
"instance": "node",
"timelines": [
{
"tli": 1,
"parent-tli": 0,
"switchpoint": "0/0",
"min-segno": "00000001000000000000001B",
"max-segno": "000000010000000000000042",
"n-segments": 40,
"size": 671088640,
"zratio": 1.00,
"closest-backup-id": "",
"status": "OK",
"lost-segments": [],
"backups": [
{
"id": "SBOL94",
"status": "OK",
"start-time": "2024-04-09 18:19:52+03",
"backup-mode": "FULL",
"wal": "ARCHIVE",
"compress-alg": "lz4",
"compress-level": 1,
"from-replica": "false",
"block-size": 8192,
"xlog-block-size": 8192,
"checksum-version": 1,
"program-version": "2.7.3",
"server-version": "17",
"current-tli": 2,
"parent-tli": 0,
"start-lsn": "0/41000028",
"stop-lsn": "0/420000C0",
"end-time": "2024-04-09 18:19:58+03",
"end-validation-time": "2024-04-09 18:19:59+03",
"recovery-xid": 757,
"recovery-time": "2024-04-09 18:19:56.603355+03",
"data-bytes": 395651278,
"wal-bytes": 16777216,
"uncompressed-bytes": 578552566,
"pgdata-bytes": 578552248,
"primary_conninfo": "user=backup channel_binding=prefer host=localhost port=5432 sslmode=prefer sslcompression=0 sslcertmode=allow sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres gssdelegation=0 target_session_attrs=any load_balance_hosts=disable",
"content-crc": 3862224379
},
{
"id": "SBOL8S",
"status": "OK",
"start-time": "2024-04-09 18:19:40+03",
"parent-backup-id": "SBOL8G",
"backup-mode": "DELTA",
"wal": "STREAM",
"compress-alg": "lz4",
"compress-level": 1,
"from-replica": "false",
"block-size": 8192,
"xlog-block-size": 8192,
"checksum-version": 1,
"program-version": "2.7.3",
"server-version": "17",
"current-tli": 1,
"parent-tli": 1,
"start-lsn": "0/3C003020",
"stop-lsn": "0/3E8D4930",
"end-time": "2024-04-09 18:19:43+03",
"end-validation-time": "2024-04-09 18:19:44+03",
"recovery-xid": 757,
"recovery-time": "2024-04-09 18:19:43.707720+03",
"data-bytes": 119350434,
"wal-bytes": 67108864,
"uncompressed-bytes": 170044286,
"pgdata-bytes": 578552248,
"primary_conninfo": "user=backup channel_binding=prefer host=localhost port=5432 sslmode=prefer sslcompression=0 sslcertmode=allow sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres gssdelegation=0 target_session_attrs=any load_balance_hosts=disable",
"content-crc": 1259851036
},
{
"id": "SBOL8G",
"status": "OK",
"start-time": "2024-04-09 18:19:28+03",
"parent-backup-id": "SBOL83",
"backup-mode": "PTRACK",
"wal": "STREAM",
"compress-alg": "zlib",
"compress-level": 1,
"from-replica": "false",
"block-size": 8192,
"xlog-block-size": 8192,
"checksum-version": 1,
"program-version": "2.7.3",
"server-version": "17",
"current-tli": 1,
"parent-tli": 1,
"start-lsn": "0/31000028",
"stop-lsn": "0/310029E0",
"end-time": "2024-04-09 18:19:32+03",
"end-validation-time": "2024-04-09 18:19:33+03",
"recovery-xid": 756,
"recovery-time": "2024-04-09 18:19:32.594670+03",
"data-bytes": 31218302,
"wal-bytes": 16777216,
"uncompressed-bytes": 69610366,
"pgdata-bytes": 510263736,
"primary_conninfo": "user=backup channel_binding=prefer host=localhost port=5432 sslmode=prefer sslcompression=0 sslcertmode=allow sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres gssdelegation=0 target_session_attrs=any load_balance_hosts=disable",
"content-crc": 2293248595
},
{
"id": "SBOL83",
"status": "OK",
"start-time": "2024-04-09 18:19:15+03",
"parent-backup-id": "SBOL7P",
"backup-mode": "PAGE",
"wal": "STREAM",
"compress-alg": "pglz",
"compress-level": 1,
"from-replica": "false",
"block-size": 8192,
"xlog-block-size": 8192,
"checksum-version": 1,
"program-version": "2.7.3",
"server-version": "17",
"current-tli": 1,
"parent-tli": 1,
"start-lsn": "0/29000028",
"stop-lsn": "0/2A0000F8",
"end-time": "2024-04-09 18:19:22+03",
"end-validation-time": "2024-04-09 18:19:22+03",
"recovery-xid": 755,
"recovery-time": "2024-04-09 18:19:22.269595+03",
"data-bytes": 48394744,
"wal-bytes": 33554432,
"uncompressed-bytes": 69577598,
"pgdata-bytes": 441975224,
"primary_conninfo": "user=backup channel_binding=prefer host=localhost port=5432 sslmode=prefer sslcompression=0 sslcertmode=allow sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres gssdelegation=0 target_session_attrs=any load_balance_hosts=disable",
"content-crc": 343227200
},
{
"id": "SBOL7P",
"status": "OK",
"start-time": "2024-04-09 18:19:01+03",
"backup-mode": "FULL",
"wal": "STREAM",
"compress-alg": "zstd",
"compress-level": 1,
"from-replica": "false",
"block-size": 8192,
"xlog-block-size": 8192,
"checksum-version": 1,
"program-version": "2.7.3",
"server-version": "17",
"current-tli": 1,
"parent-tli": 0,
"start-lsn": "0/22000028",
"stop-lsn": "0/220001C8",
"end-time": "2024-04-09 18:19:07+03",
"end-validation-time": "2024-04-09 18:19:09+03",
"recovery-xid": 754,
"recovery-time": "2024-04-09 18:19:06.557301+03",
"data-bytes": 151177272,
"wal-bytes": 16777216,
"uncompressed-bytes": 373695222,
"pgdata-bytes": 373694904,
"primary_conninfo": "user=backup channel_binding=prefer host=localhost port=5432 sslmode=prefer sslcompression=0 sslcertmode=allow sslsni=1 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres gssdelegation=0 target_session_attrs=any load_balance_hosts=disable",
"content-crc": 1636300818
}
]
}
]
}
]РоÑновном в ÑÑом ÑоÑмаÑе пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ñе же полÑ, ÑÑо и в ÑекÑÑовом ÑоÑмаÑе, Ñ Ð½ÐµÐºÐ¾ÑоÑÑми иÑклÑÑениÑми:
Ð Ð°Ð·Ð¼ÐµÑ Ð²ÑÑажаеÑÑÑ Ð² байÑÐ°Ñ .
ÐÑÑибÑÑ
closest-backup-idÑодеÑÐ¶Ð¸Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ Ñамой поÑледней доÑÑÑпной копии, пÑинадлежаÑей к одной из пÑедÑдÑÑÐ¸Ñ Ð»Ð¸Ð½Ð¸Ð¹ вÑемени. ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÑÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° моменÑ, оÑноÑÑÑийÑÑ Ðº ÑÑой линии вÑемени. ÐÑли Ñакой копии не ÑÑÑеÑÑвÑеÑ, даннÑй аÑÑибÑÑ Ð±ÑÐ´ÐµÑ Ð¿ÑÑÑÑм.РмаÑÑиве
lost-segmentsпÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð¸Ð½ÑеÑÐ²Ð°Ð»Ñ Ð¾ÑÑÑÑÑÑвÑÑÑÐ¸Ñ ÑегменÑов на линиÑÑ Ð²Ñемени в непÑигодном ÑоÑÑоÑнии (DEGRADED). Ðа линиÑÑ Ð²Ñемени в ÑелоÑÑном ÑоÑÑоÑнииOKмаÑÑивlost-segmentsпÑÑÑ.РмаÑÑиве
backupsпеÑеÑиÑлÑÑÑÑÑ Ð²Ñе ÑезеÑвнÑе копии, оÑноÑÑÑиеÑÑ Ðº данной линии вÑемени. ÐÑли к линии вÑемени не оÑноÑÑÑÑÑ ÑезеÑвнÑе копии, ÑÑÐ¾Ñ Ð¼Ð°ÑÑив пÑÑÑ.
ÐаÑÑÑойка полиÑики Ñ ÑанениÑ
ÐÑполÑзÑÑ pg_probackup, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑеализоваÑÑ Ð¿Ð¾Ð»Ð¸Ñики Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹, в ÑооÑвеÑÑÑвии Ñ ÐºÐ¾ÑоÑÑми могÑÑ ÑдалÑÑÑÑÑ Ð»Ð¸Ñние копии, оÑиÑаÑÑÑÑ Ð½ÐµÐ½ÑжнÑе ÑегменÑÑ WAL. ÐÑоме Ñого, можно закÑеплÑÑÑ Ð¾Ð¿ÑеделÑннÑе копии, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¸ ÑÐ¾Ñ ÑанÑлиÑÑ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо Ð¾Ñ Ð¿Ð¾Ð»Ð¸Ñики, как опиÑано ниже. ÐÑи Ð¿Ð¾Ð´Ñ Ð¾Ð´Ñ Ð¼Ð¾Ð¶Ð½Ð¾ комбиниÑоваÑÑ Ð¿ÑоизволÑнÑм обÑазом.
Удаление ненÑжнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹
Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²Ñе ÑезеÑвнÑе копии, коÑоÑÑе ÑоздаÑÑ pg_probackup, ÑÐ¾Ñ ÑанÑÑÑÑÑ Ð² пÑедназнаÑенном Ð´Ð»Ñ Ð½Ð¸Ñ ÐºÐ°Ñалоге. ÐÐ»Ñ Ñкономии диÑкового пÑоÑÑÑанÑÑва Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе наÑÑÑоиÑÑ Ð¿Ð¾Ð»Ð¸ÑÐ¸ÐºÑ ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¹, ÑÑÐ¾Ð±Ñ Ð½ÐµÐ½ÑжнÑе копии ÑдалÑлиÑÑ.
ЧÑÐ¾Ð±Ñ Ð½Ð°ÑÑÑоиÑÑ Ð¿Ð¾Ð»Ð¸ÑÐ¸ÐºÑ Ñ
ÑанениÑ, задайÑе Ð¾Ð´Ð½Ñ Ð¸Ð»Ð¸ неÑколÑко ÑледÑÑÑиÑ
пеÑеменнÑÑ
в Ñайле pg_probackup.conf Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ set-config:
--retention-redundancy=избÑÑоÑноÑÑÑÐпÑеделÑÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво полнÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹, коÑоÑое должно ÑÐ¾Ñ ÑанÑÑÑÑÑ Ð² каÑалоге копий.
--retention-window=окноÐпÑеделÑÐµÑ ÑамÑй Ñанний Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени, на коÑоÑÑй pg_probackup Ð¼Ð¾Ð¶ÐµÑ Ð²ÑполниÑÑ Ð²Ð¾ÑÑÑановление. Ð ÑÑом паÑамеÑÑе задаÑÑÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво дней Ð¾Ñ ÑекÑÑего моменÑа. ÐапÑимеÑ, еÑли retention-window=7, должна ÑоÑ
ÑаниÑÑÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ñм одна ÐºÐ¾Ð¿Ð¸Ñ ÑÑаÑее 7 дней, вмеÑÑе Ñ ÑооÑвеÑÑÑвÑÑÑими Ñайлами WAL и вÑеми поÑледÑÑÑими копиÑми.
ÐÑли ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ð¿Ð°ÑамеÑÑÑ --retention-redundancy и --retention-window, пÑи оÑиÑÑке каÑалога Ð¾Ñ Ð½ÐµÐ½ÑжнÑÑ
копий пÑинимаÑÑÑÑ Ð²Ð¾ внимание оба заданнÑÑ
ими ÑÑловиÑ. ÐапÑимеÑ, еÑли задаÑÑ Ð¿Ð°ÑамеÑÑÑ --retention-redundancy=2 и --retention-window=7, пÑогÑамма pg_probackup должна ÑоÑ
ÑаниÑÑ Ð´Ð²Ðµ полнÑе ÑезеÑвнÑе копии, а Ñакже вÑе копии, необÑ
одимÑе Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
, за поÑледние ÑÐµÐ¼Ñ Ð´Ð½ÐµÐ¹:
pg_probackup set-config -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--retention-redundancy=2 --retention-window=7
РекомендÑеÑÑÑ Ð²Ñегда Ñ ÑаниÑÑ ÐºÐ°Ðº минимÑм две поÑледние полнÑе ÑодиÑелÑÑкие копии, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ Ð¾Ñибок пÑи Ñоздании инкÑеменÑалÑнÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.
ЧÑÐ¾Ð±Ñ Ð¾ÑиÑÑиÑÑ ÐºÐ°Ñалог копий в ÑооÑвеÑÑÑвии Ñ Ð¿Ð¾Ð»Ð¸Ñикой Ñ ÑанениÑ, нÑжно запÑÑÑиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ delete Ñ Ñлагами ÑÐ¾Ñ ÑанениÑ, как показано ниже, или вÑполниÑÑ Ñ ÑÑими Ñлагами ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ backup. РпоÑледнем ÑлÑÑае ненÑжнÑе копии бÑдÑÑ ÑÐ´Ð°Ð»ÐµÐ½Ñ ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ копии.
ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ ÑдалиÑÑ Ð²Ñе ÑезеÑвнÑе копии, ÑÑиÑаÑÑиеÑÑ Ð½ÐµÐ½ÑжнÑми ÑоглаÑно ÑÑÑановленной полиÑике Ñ
ÑанениÑ, нÑжно вÑполниÑÑ ÑледÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ñ Ñлагом --delete-expired:
pg_probackup delete -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--delete-expired
ÐÑли Ð²Ñ Ñ
оÑиÑе Ñакже ÑдалиÑÑ ÑÐ°Ð¹Ð»Ñ WAL, коÑоÑÑе болÑÑе не ÑÑебÑÑÑÑÑ Ð½Ð¸ Ð´Ð»Ñ ÐºÐ°ÐºÐ¸Ñ
копий, ÑкажиÑе дополниÑелÑно --delete-wal:
pg_probackup delete -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--delete-expired --delete-wal
ÐÑ Ñакже можеÑе ÑÑÑановиÑÑ Ð¸Ð»Ð¸ пеÑеопÑеделиÑÑ ÑекÑÑÑÑ Ð¿Ð¾Ð»Ð¸ÑÐ¸ÐºÑ Ñ
ÑанениÑ, добавив паÑамеÑÑÑ --retention-redundancy и --retention-window непоÑÑедÑÑвенно пÑи вÑполнении команд delete или backup:
pg_probackup delete -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--delete-expired --retention-window=7 --retention-redundancy=2
Так как Ð´Ð»Ñ Ð¸Ð½ÐºÑеменÑалÑнÑÑ
копий ÑÑебÑеÑÑÑ Ð½Ð°Ð»Ð¸Ñие вÑеÑ
ÑодиÑелÑÑкиÑ
полнÑÑ
копий и вÑеÑ
пÑедÑдÑÑиÑ
инкÑеменÑалÑнÑÑ
копий, даже по иÑÑеÑении ÑÑока иÑ
Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑÑи копии нелÑÐ·Ñ ÑдалиÑÑ, пока минимÑм одна инкÑеменÑалÑÐ½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð² ÑепоÑке ÑдовлеÑвоÑÑÐµÑ Ð¿Ð¾Ð»Ð¸Ñике Ñ
ÑанениÑ. ЧÑÐ¾Ð±Ñ Ð½Ðµ Ñ
ÑаниÑÑ ÑÑÑаÑевÑие копии, коÑоÑÑе вÑÑ ÐµÑÑ Ð½ÑÐ¶Ð½Ñ Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ñжной инкÑеменÑалÑной копии, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе обÑединиÑÑ Ð¸Ñ
Ñ Ð½ÐµÐ¹, воÑполÑзовавÑиÑÑ ÐºÐ»ÑÑом --merge-expired ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ backup или delete.
ÐÑедположим, ÑÑо Ð²Ñ Ð·Ð°Ð°ÑÑ
ивиÑовали ÑкземплÑÑ Ñзла в каÑалог_копий Ñо знаÑением паÑамеÑÑа --retention-window, ÑавнÑм 6, и знаÑением паÑамеÑÑа --retention-redundancy, ÑавнÑм 2, и на 1 авгÑÑÑа 2024 г. Ñ Ð²Ð°Ñ ÐµÑÑÑ ÑледÑÑÑие копии:
BACKUP INSTANCE 'node' =========================================================================================================================================== Instance Version ID Recovery Time Mode WAL Mode TLI Time Data WAL Zalg Zratio Start LSN Stop LSN Status =========================================================================================================================================== node 17 SHJ1N9 2024-08-01 09:50:00+03 FULL ARCHIVE 1/0 5s 13MB 16MB zstd 2,81 0/1D000028 0/1E0000C0 OK node 17 SHJ1N8 2024-08-01 09:49:59+03 DELTA ARCHIVE 1/1 5s 6432kB 16MB zstd 1,06 0/1A000028 0/1B0000C0 OK node 17 SHH6Z8 2024-07-31 09:49:59+03 PAGE ARCHIVE 1/1 5s 6431kB 16MB zstd 1,06 0/17000028 0/180000C0 OK node 17 SHFCB6 2024-07-30 09:49:57+03 FULL ARCHIVE 1/0 5s 12MB 16MB zstd 2,83 0/14000028 0/150000C0 OK node 17 SH9SB5 2024-07-27 09:49:56+03 PAGE ARCHIVE 1/1 5s 6432kB 16MB zstd 1,06 0/11000028 0/120000C0 OK ----------------------------------------------------------retention window----------------------------------------------------------- node 17 SH62Z5 2024-07-25 09:49:56+03 DELTA ARCHIVE 1/1 5s 6431kB 16MB zstd 1,06 0/E000028 0/F0000C0 OK node 17 SH48B3 2024-07-24 09:49:54+03 FULL ARCHIVE 1/0 5s 12MB 16MB zstd 2,86 0/B000028 0/C0000C0 OK node 17 SGWTN3 2024-07-20 09:49:54+03 PAGE ARCHIVE 1/1 5s 6432kB 16MB zstd 1,06 0/8000028 0/90000C0 OK node 17 SGUYZ2 2024-07-19 09:49:53+03 DELTA ARCHIVE 1/1 5s 6442kB 16MB zstd 1,07 0/5000028 0/60000C0 OK node 17 SGT4B1 2024-07-18 09:49:52+03 FULL ARCHIVE 1/0 5s 11MB 16MB zstd 2,89 0/2000028 0/3003A28 OK
ÐÑи запÑÑке ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ delete Ñ Ñлагом --delete-expired ÑезеÑвнÑе копии Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑами SGT4B1, SGUYZ2 и SGWTN3 бÑдÑÑ ÑÐ´Ð°Ð»ÐµÐ½Ñ ÐºÐ°Ðº ÑÑÑаÑевÑие по кÑиÑеÑиÑм окна Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¸ избÑÑоÑноÑÑи (ÑÑебÑемÑй Ð½Ð°Ð±Ð¾Ñ Ð¿Ð¾Ð»Ð½ÑÑ
ÑезеÑвнÑÑ
копий Ñже ÑоÑ
ÑанÑн). SGUYZ2 и SGWTN3 Ñакже бÑдÑÑ ÑдаленÑ, поÑколÑÐºÑ Ð±Ð°Ð·Ð¾Ð²Ð°Ñ Ð¿Ð¾Ð»Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð¿Ð¾ÑеÑÑла акÑÑалÑноÑÑÑ.
ÐÑи запÑÑке ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ delete Ñ Ñлагом --merge-expired ÑезеÑвнÑе копии SH48B3 и SH62Z5 бÑдÑÑ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ñ Ñ SH9SB5. ÐбÑединение пÑоизойдÑÑ Ð¸Ð¼ÐµÐ½Ð½Ð¾ Ñ SH9SB5, Ñак как ÑÑо пеÑÐ²Ð°Ñ Ð°ÐºÑÑалÑÐ½Ð°Ñ ÑазноÑÑÐ½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ, коÑоÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ обÑединиÑÑ Ñ Ð½ÐµÐ°ÐºÑÑалÑной ÑазноÑÑной копией SH62Z5 и неакÑÑалÑной полной копией SH48B3.
pg_probackup delete -BкаÑалог_копий--instance=Ñзел--delete-expired --merge-expired pg_probackup show -BкаÑалог_копий
BACKUP INSTANCE 'node' =========================================================================================================================================== Instance Version ID Recovery Time Mode WAL Mode TLI Time Data WAL Zalg Zratio Start LSN Stop LSN Status =========================================================================================================================================== node 17 SHJ1N9 2024-08-01 09:50:00+03 FULL ARCHIVE 1/0 5s 13MB 16MB zstd 2,81 0/1D000028 0/1E0000C0 OK node 17 SHJ1N8 2024-08-01 09:49:59+03 DELTA ARCHIVE 1/1 5s 6432kB 16MB zstd 1,06 0/1A000028 0/1B0000C0 OK node 17 SHH6Z8 2024-07-31 09:49:59+03 PAGE ARCHIVE 1/1 5s 6431kB 16MB zstd 1,06 0/17000028 0/180000C0 OK node 17 SHFCB6 2024-07-30 09:49:57+03 FULL ARCHIVE 1/0 5s 12MB 16MB zstd 2,83 0/14000028 0/150000C0 OK node 17 SH9SB5 2024-07-27 09:49:56+03 FULL ARCHIVE 1/0 1s 12MB 16MB zstd 2,84 0/11000028 0/120000C0 OK
Ðоле Time (ÐÑемÑ) Ð´Ð»Ñ Ð¾Ð±ÑединÑнной копии показÑÐ²Ð°ÐµÑ Ð²ÑемÑ, коÑоÑое занÑла пÑоÑедÑÑа обÑединениÑ.
ÐакÑепление ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹
ÐÑли вам нÑжно Ñ ÑаниÑÑ Ð¾ÑделÑнÑе копии долÑÑе, Ñем допÑÑÐºÐ°ÐµÑ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð¿Ð¾Ð»Ð¸Ñика Ñ ÑанениÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе дополниÑелÑно закÑепиÑÑ Ð¸Ñ Ð½Ð° опÑеделÑнное вÑемÑ. ÐапÑимеÑ:
pg_probackup set-backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-iид_ÑезеÑвной_копии--ttl=30d
ÐÑа команда задаÑÑ ÑÑок Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑезеÑвной копии 30 дней, наÑÐ¸Ð½Ð°Ñ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа, Ñказанного в аÑÑибÑÑе recovery-time ÑÑой копии.
ÐÑ Ñакже можеÑе Ñвно задаÑÑ Ð²ÑÐµÐ¼Ñ Ð¸ÑÑеÑÐµÐ½Ð¸Ñ ÑÑока Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸, воÑполÑзовавÑиÑÑ ÐºÐ»ÑÑом --expire-time. ÐапÑимеÑ:
pg_probackup set-backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-iид_ÑезеÑвной_копии--expire-time="2027-04-09 18:21:32+00"
Также можно воÑполÑзоваÑÑÑÑ ÐºÐ»ÑÑами --ttl и --expire-time ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ backup и ÑÑÐ°Ð·Ñ Ð·Ð°ÐºÑепиÑÑ ÑоздаваемÑÑ ÐºÐ¾Ð¿Ð¸Ñ:
pg_probackup backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-b FULL --ttl=30d pg_probackup backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-b FULL --expire-time="2027-04-09 18:21:32+00"
ÐпÑеделиÑÑ, закÑеплена ли копиÑ, можно Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ show:
pg_probackup show -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-iид_ÑезеÑвной_копии
ÐÑли ÐºÐ¾Ð¿Ð¸Ñ Ð·Ð°ÐºÑеплена, Ñ Ð½ÐµÑ ÐµÑÑÑ Ð°ÑÑибÑÑ expire-time, ÑодеÑжаÑий вÑÐµÐ¼Ñ Ð¾ÐºÐ¾Ð½ÑÐ°Ð½Ð¸Ñ ÑÑока ÐµÑ Ñ
ÑанениÑ:
... recovery-time = '2024-04-09 18:21:32+00' expire-time = '2027-04-09 18:21:32+00' data-bytes = 22288792 ...
ÐÑмениÑÑ Ð·Ð°ÐºÑепление копии можно, пеÑедав в паÑамеÑÑе --ttl нолÑ:
pg_probackup set-backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-iид_ÑезеÑвной_копии--ttl=0
ÐÑимеÑание
ÐÐ»Ñ Ð·Ð°ÐºÑеплÑнной инкÑеменÑалÑной копии неÑвнÑм обÑазом закÑеплÑÑÑÑÑ Ð²Ñе нÑжнÑе ей ÑодиÑелÑÑкие копии. ÐÑли Ð²Ñ Ð¿Ð¾Ð·Ð¶Ðµ ÑнимиÑе Ñ Ð½ÐµÑ Ð·Ð°ÐºÑепление, поÑледние Ñакже авÑомаÑиÑеÑки пеÑеÑÑанÑÑ Ð±ÑÑÑ Ð·Ð°ÐºÑеплÑннÑми.
ÐаÑÑÑойка полиÑики Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð°ÑÑ Ð¸Ð²Ð° WAL
Ðогда оÑÑÑеÑÑвлÑеÑÑÑ Ð½ÐµÐ¿ÑеÑÑвное аÑÑ
ивиÑование WAL, ÑегменÑÑ WAL могÑÑ Ð·Ð°Ð½Ð¸Ð¼Ð°ÑÑ Ð¼Ð½Ð¾Ð³Ð¾ меÑÑа на диÑке. Ðаже еÑли Ð²Ñ Ð²ÑÐµÐ¼Ñ Ð¾Ñ Ð²Ñемени ÑдалÑеÑе ÑÑаÑÑе ÑезеÑвнÑе копии, Ñ Ñлагом --delete-wal могÑÑ Ð±ÑÑÑ ÑÐ´Ð°Ð»ÐµÐ½Ñ ÑолÑко Ñе ÑегменÑÑ WAL, коÑоÑÑе не оÑноÑÑÑÑÑ Ð½Ð¸ к какой копии из оÑÑаÑÑиÑ
ÑÑ Ð² каÑалоге. Ðднако еÑли возможноÑÑÑ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени нÑжна ÑолÑко Ð´Ð»Ñ Ð¿Ð¾ÑледниÑ
копий, можно наÑÑÑоиÑÑ Ð¿Ð¾Ð»Ð¸ÑÐ¸ÐºÑ Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð°ÑÑ
ива WAL, ÑÑÐ¾Ð±Ñ Ð¾Ð³ÑаниÑиÑÑ Ð³Ð»ÑÐ±Ð¸Ð½Ñ Ð°ÑÑ
ива и ÑÑкономиÑÑ Ð¼ÐµÑÑо на диÑке.
ЧÑÐ¾Ð±Ñ Ð½Ð°ÑÑÑоиÑÑ Ð¿Ð¾Ð»Ð¸ÑÐ¸ÐºÑ Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð°ÑÑ
ива WAL, запÑÑÑиÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ set-config Ñ Ð¿Ð°ÑамеÑÑом --wal-depth, задаÑÑим колиÑеÑÑво копий, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð´Ð»Ñ PITR. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð´ÐµÐ¹ÑÑвÑÐµÑ Ð´Ð»Ñ Ð²ÑеÑ
линий вÑемени, поÑÑÐ¾Ð¼Ñ Ð²Ñ ÑможеÑе вÑполнÑÑÑ PITR Ð´Ð»Ñ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾Ð³Ð¾ колиÑеÑÑва копий на каждой линии вÑемени, пÑи иÑ
налиÑии. ÐакÑеплÑннÑе копии в ÑÑом ÑиÑле не ÑÑиÑÑваÑÑÑÑ: еÑли закÑеплÑеÑÑÑ Ð¾Ð´Ð½Ð° из поÑледниÑ
копий, pg_probackup обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ PITR Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ дополниÑелÑной копии.
ЧÑÐ¾Ð±Ñ ÑдалиÑÑ ÑегменÑÑ WAL, не ÑдовлеÑвоÑÑÑÑие заданной полиÑике Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð°ÑÑ
ива WAL, Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿ÑоÑÑо вÑполниÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ delete или backup Ñ Ñлагом --delete-wal. ÐÐ»Ñ Ð°ÑÑ
ивнÑÑ
копий ÑегменÑÑ WAL Ð¼ÐµÐ¶Ð´Ñ Start LSN и Stop LSN вÑегда ÑоÑ
ÑанÑÑÑÑÑ, Ñак ÑÑо ÑÑи копии оÑÑаÑÑÑÑ ÑабоÑими вне завиÑимоÑÑи Ð¾Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ --wal-depth и пÑи необÑ
одимоÑÑи могÑÑ Ð±ÑÑÑ Ð²Ð¾ÑÑÑановленÑ.
ÐÑ Ñакже можеÑе иÑполÑзоваÑÑ Ð¿Ð°ÑамеÑÑ --wal-depth Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ delete и backup Ð´Ð»Ñ Ð¿ÐµÑеопÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñанее заданной полиÑики ÑоÑ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ WAL и ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑÑаÑÑÑ
ÑегменÑов WAL «на леÑÑ».
ÐÑедположим, ÑÑо Ð²Ñ Ð·Ð°Ð°ÑÑ
ивиÑовали ÑкземплÑÑ node в каÑалог_копий и наÑÑÑоили непÑеÑÑвное аÑÑ
ивиÑование WAL:
pg_probackup show -BкаÑалог_копий--instance=Ñзел
================================================================================================================================================== Instance Version ID Recovery Time Mode WAL Mode TLI Time Data WAL Zalg Zratio Start LSN Stop LSN Status ================================================================================================================================================== node 17 SBOLDA 2024-04-09 18:22:23.147138+03 DELTA STREAM 1/1 1s 1165kB 16MB zstd 1.09 0/6F000028 0/6F000190 OK node 17 SBOLCY 2024-04-09 18:22:16.079841+03 FULL STREAM 1/0 10s 278MB 16MB zstd 2.46 0/6D000028 0/6D000190 OK node 17 SBOLCW 2024-04-09 18:22:10.154022+03 DELTA STREAM 1/1 2s 1364kB 16MB zstd 1.01 0/6B000028 0/6B000190 OK node 17 SBOLCS 2024-04-09 18:22:07.521646+03 DELTA STREAM 1/1 4s 78MB 16MB zstd 2.41 0/69000028 0/69000190 OK node 17 SBOLCC 2024-04-09 18:21:55.830115+03 FULL STREAM 1/0 15s 278MB 96MB zstd 2.46 0/600060C8 0/64FE6640 OK node 17 SBOLBW 2024-04-09 18:21:38.399702+03 FULL STREAM 1/0 12s 278MB 96MB zstd 2.46 0/54001830 0/589E5908 OK
ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑовеÑиÑÑ ÑоÑÑоÑние аÑÑ
ива WAL, запÑÑÑив ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ show Ñ ÐºÐ»ÑÑом --archive:
pg_probackup show -B каÑалог_копий --instance=node --archiveINFO: checking WAL file name "000000010000000000000052" INFO: checking WAL file name "000000010000000000000053" INFO: checking WAL file name "000000010000000000000054" INFO: checking WAL file name "000000010000000000000054.00001830.backup" INFO: checking WAL file name "000000010000000000000055" INFO: checking WAL file name "000000010000000000000056" INFO: checking WAL file name "000000010000000000000057" INFO: checking WAL file name "000000010000000000000058" INFO: checking WAL file name "000000010000000000000059" INFO: checking WAL file name "00000001000000000000005A" INFO: checking WAL file name "00000001000000000000005B" INFO: checking WAL file name "00000001000000000000005C" INFO: checking WAL file name "00000001000000000000005D" INFO: checking WAL file name "00000001000000000000005E" INFO: checking WAL file name "00000001000000000000005F" INFO: checking WAL file name "000000010000000000000060" INFO: checking WAL file name "000000010000000000000060.000060C8.backup" INFO: checking WAL file name "000000010000000000000061" INFO: checking WAL file name "000000010000000000000062" INFO: checking WAL file name "000000010000000000000063" INFO: checking WAL file name "000000010000000000000064" INFO: checking WAL file name "000000010000000000000065" INFO: checking WAL file name "000000010000000000000066" INFO: checking WAL file name "000000010000000000000067" INFO: checking WAL file name "000000010000000000000068" INFO: checking WAL file name "000000010000000000000069" INFO: checking WAL file name "000000010000000000000069.00000028.backup" INFO: checking WAL file name "00000001000000000000006A" INFO: checking WAL file name "00000001000000000000006B" INFO: checking WAL file name "00000001000000000000006B.00000028.backup" INFO: checking WAL file name "00000001000000000000006C" INFO: checking WAL file name "00000001000000000000006D" INFO: checking WAL file name "00000001000000000000006D.00000028.backup" INFO: checking WAL file name "00000001000000000000006E" INFO: checking WAL file name "00000001000000000000006F" INFO: checking WAL file name "00000001000000000000006F.00000028.backup" ARCHIVE INSTANCE 'node' ================================================================================================================================ TLI Parent TLI Switchpoint Min Segno Max Segno N segments Size Zratio N backups Status ================================================================================================================================ 1 0 0/0 000000010000000000000052 00000001000000000000006F 30 480MB 1.00 6 OK
ÐпеÑаÑÐ¸Ñ Ð¾ÑиÑÑки WAL без клÑÑа --wal-depth Ð¼Ð¾Ð¶ÐµÑ ÑдалиÑÑ Ð»Ð¸ÑÑ Ð¾Ð´Ð¸Ð½ ÑегменÑ:
pg_probackup delete -B каÑалог_копий --instance=node --delete-walINFO: checking WAL file name "000000010000000000000054" INFO: checking WAL file name "000000010000000000000054.00001830.backup" INFO: checking WAL file name "000000010000000000000055" INFO: checking WAL file name "000000010000000000000056" INFO: checking WAL file name "000000010000000000000057" INFO: checking WAL file name "000000010000000000000058" INFO: checking WAL file name "000000010000000000000059" INFO: checking WAL file name "00000001000000000000005A" INFO: checking WAL file name "00000001000000000000005B" INFO: checking WAL file name "00000001000000000000005C" INFO: checking WAL file name "00000001000000000000005D" INFO: checking WAL file name "00000001000000000000005E" INFO: checking WAL file name "00000001000000000000005F" INFO: checking WAL file name "000000010000000000000060" INFO: checking WAL file name "000000010000000000000060.000060C8.backup" INFO: checking WAL file name "000000010000000000000061" INFO: checking WAL file name "000000010000000000000062" INFO: checking WAL file name "000000010000000000000063" INFO: checking WAL file name "000000010000000000000064" INFO: checking WAL file name "000000010000000000000065" INFO: checking WAL file name "000000010000000000000066" INFO: checking WAL file name "000000010000000000000067" INFO: checking WAL file name "000000010000000000000068" INFO: checking WAL file name "000000010000000000000069" INFO: checking WAL file name "000000010000000000000069.00000028.backup" INFO: checking WAL file name "00000001000000000000006A" INFO: checking WAL file name "00000001000000000000006B" INFO: checking WAL file name "00000001000000000000006B.00000028.backup" INFO: checking WAL file name "00000001000000000000006C" INFO: checking WAL file name "00000001000000000000006D" INFO: checking WAL file name "00000001000000000000006D.00000028.backup" INFO: checking WAL file name "00000001000000000000006E" INFO: checking WAL file name "00000001000000000000006F" INFO: checking WAL file name "00000001000000000000006F.00000028.backup" ARCHIVE INSTANCE 'node' ================================================================================================================================ TLI Parent TLI Switchpoint Min Segno Max Segno N segments Size Zratio N backups Status ================================================================================================================================ 1 0 0/0 000000010000000000000054 00000001000000000000006F 28 448MB 1.00 6 OK
ÐапÑимеÑ, еÑли Ð²Ñ Ñ
оÑиÑе оÑÑавиÑÑ ÑолÑко Ñе ÑегменÑÑ, коÑоÑÑе могÑÑ Ð¿ÑименÑÑÑÑÑ Ðº Ñамой поÑледней копии, пеÑедайÑе в паÑамеÑÑе --wal-depth знаÑение 1:
pg_probackup delete -B каÑалог_копий --instance=node --delete-wal --wal-depth=1INFO: checking WAL file name "00000001000000000000006F" INFO: checking WAL file name "00000001000000000000006F.00000028.backup" ARCHIVE INSTANCE 'node' =============================================================================================================================== TLI Parent TLI Switchpoint Min Segno Max Segno N segments Size Zratio N backups Status =============================================================================================================================== 1 0 0/0 00000001000000000000006F 00000001000000000000006F 1 16MB 1.00 6 OK
Также Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð¿Ð°ÑамеÑÑ --wal-depth Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ backup:
pg_probackup backup -B каÑалог_даннÑÑ
--instance=node -b DELTA --wal-depth=1 --delete-walINFO: checking WAL file name "000000010000000000000071" INFO: checking WAL file name "000000010000000000000071.00000028.backup" ARCHIVE INSTANCE 'node' =============================================================================================================================== TLI Parent TLI Switchpoint Min Segno Max Segno N segments Size Zratio N backups Status =============================================================================================================================== 1 0 0/0 000000010000000000000071 000000010000000000000071 1 16MB 1.00 7 OK
ÐбÑединение ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹
Ðо меÑе Ñого как Ð²Ñ Ð±ÑдеÑе делаÑÑ Ð½Ð¾Ð²Ñе и новÑе инкÑеменÑалÑнÑе копии, обÑий ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ°Ñалога ÑезеÑвнÑÑ
копий Ð¼Ð¾Ð¶ÐµÑ ÑÑÑеÑÑвенно ÑвелиÑиÑÑÑÑ. ÐÐ»Ñ Ñкономии меÑÑа на диÑке Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе обÑединиÑÑ Ð¸Ð½ÐºÑеменÑалÑнÑе копии Ñ ÑодиÑелÑÑкой полной копией, вÑполнив ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ merge и пеÑедав ей иденÑиÑикаÑÐ¾Ñ ÐºÐ¾Ð¿Ð¸Ð¸ Ñамой поÑледней ÑезеÑвной копии, подлежаÑей обÑединениÑ:
pg_probackup merge -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-iид_ÑезеÑвной_копии
ÐÑа команда обÑединÑÐµÑ ÐºÐ¾Ð¿Ð¸Ð¸, оÑноÑÑÑиеÑÑ Ðº одной ÑепоÑке инкÑеменÑалÑнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹. ÐÑли вÑбиÑаеÑÑÑ Ð¿Ð¾Ð»Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ, она бÑÐ´ÐµÑ Ð¾Ð±Ñединена Ñ Ð¿ÐµÑвой инкÑеменÑалÑной копией поÑле неÑ. ÐÑли вÑбÑана инкÑеменÑалÑÐ½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ, он бÑÐ´ÐµÑ Ð¾Ð±Ñединена Ñ ÑодиÑелÑÑкой полной копией, вклÑÑÐ°Ñ Ð²Ñе инкÑеменÑалÑнÑе копии Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸. ÐоÑле вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¿Ð¾Ð»Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ ÑодеÑÐ¶Ð¸Ñ Ð²Ñе обÑединÑннÑе даннÑе, а инкÑеменÑалÑнÑе копии ÑдалÑÑÑÑÑ ÐºÐ°Ðº ненÑжнÑе. Таким обÑазом, опеÑаÑÐ¸Ñ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑÑÑи ÑавнознаÑна ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ полной копии Ñ Ñдалением вÑÐµÑ ÑÑÑаÑевÑÐ¸Ñ ÐºÐ¾Ð¿Ð¸Ð¹, но вÑполнÑеÑÑÑ Ð¾Ð½Ð° бÑÑÑÑее, оÑобенно Ñ Ð±Ð¾Ð»ÑÑими обÑÑмами даннÑÑ , и не нагÑÑÐ¶Ð°ÐµÑ Ð¿Ð¾Ð´ÑиÑÑÐµÐ¼Ñ Ð²Ð²Ð¾Ð´Ð°/вÑвода и ÑеÑÑ (еÑли pg_probackup ÑабоÑÐ°ÐµÑ Ð² ÑдалÑнном Ñежиме).
ÐеÑед обÑединением pg_probackup пÑовеÑÑÐµÑ Ð²Ñе задейÑÑвÑемÑе ÑезеÑвнÑе копии, ÑÑÐ¾Ð±Ñ ÑдоÑÑовеÑиÑÑÑÑ Ð² Ð¸Ñ ÑелоÑÑноÑÑи. ÐÑ Ð¼Ð¾Ð¶ÐµÑе пÑовеÑиÑÑ ÑекÑÑее ÑоÑÑоÑние ÑезеÑвной копии, пеÑедав ÐµÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ðµ show.
pg_probackup show -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-iид_ÑезеÑвной_копии
ÐÑли пÑоÑеÑÑ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐµÑÑ Ð½Ðµ законÑен, Ð²Ñ ÑвидиÑе ÑоÑÑоÑние MERGING. ÐÐ»Ñ Ð¿Ð¾Ð»Ð½ÑÑ
копий Ñакже можно ÑвидеÑÑ ÑоÑÑоÑние MERGED в пÑоÑеÑÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼ÐµÑаданнÑÑ
на поÑледнем ÑÑапе обÑединениÑ. Ð ÑлÑÑае пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¾Ð¿ÐµÑаÑии обÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ð½Ð° Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÐµÑезапÑÑена.
Удаление ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹
ÐÐ»Ñ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑезеÑвной копии, ÑÑавÑей ненÑжной, вÑполниÑе командÑ:
pg_probackup delete -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-iид_ÑезеÑвной_копии
ÐÑа команда ÑÐ´Ð°Ð»Ð¸Ñ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм ид_ÑезеÑвной_копии вмеÑÑе Ñо вÑеми инкÑеменÑалÑнÑми копиÑми, коÑоÑÑе Ð¾Ñ Ð½ÐµÑ Ð·Ð°Ð²Ð¸ÑÑÑ (еÑли ÑаковÑе найдÑÑÑÑ). Таким обÑазом Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑдалиÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе поÑледние инкÑеменÑалÑнÑе копии, ÑоÑ
Ñанив пÑедÑдÑÑÑÑ Ð¿Ð¾Ð»Ð½ÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¸ некоÑоÑÑе ÑледÑÑÑие за ней инкÑеменÑалÑнÑе копии.
ÐÐ»Ñ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑÑаÑÑÑ
Ñайлов WAL, коÑоÑÑе не нÑÐ¶Ð½Ñ Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ
из оÑÑавÑиÑ
ÑÑ ÑезеÑвнÑÑ
копий, воÑполÑзÑйÑеÑÑ ÐºÐ»ÑÑом --delete-wal:
pg_probackup delete -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--delete-wal
ЧÑÐ¾Ð±Ñ ÑдалиÑÑ ÑезеÑвнÑе копии, ÑÑиÑаÑÑиеÑÑ Ð½ÐµÐ½ÑжнÑми ÑоглаÑно ÑекÑÑей полиÑике Ñ
ÑанениÑ, воÑполÑзÑйÑеÑÑ ÐºÐ»ÑÑом --delete-expired:
pg_probackup delete -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--delete-expired
Ðопии Ñ Ð¸ÑÑÑкÑим ÑÑоком нелÑÐ·Ñ ÑдалиÑÑ, пока на ниÑ
базиÑÑеÑÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ñм одна инкÑеменÑалÑÐ½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ, ÑдовлеÑвоÑÑÑÑÐ°Ñ Ð¿Ð¾Ð»Ð¸Ñике Ñ
ÑанениÑ. ÐÑли Ð²Ñ Ñ
оÑиÑе ÑокÑаÑиÑÑ ÑиÑло ÑезеÑвнÑÑ
копий, ÑÑебÑÑÑиÑ
ÑÑ Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð½ÐºÑеменÑалÑнÑÑ
копий, ÑкажиÑе паÑамеÑÑ --merge-expired пÑи вÑполнении ÑÑой командÑ:
pg_probackup delete -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--delete-expired --merge-expired
Ð ÑÑом ÑлÑÑае pg_probackup иÑÐµÑ ÑамÑÑ ÑÑаÑÑÑ Ð¸Ð½ÐºÑеменÑалÑнÑÑ ÐºÐ¾Ð¿Ð¸Ñ, ÑдовлеÑвоÑÑÑÑÑÑ Ð¿Ð¾Ð»Ð¸Ñике Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¸ обÑединÑÐµÑ ÐµÑ Ñ Ð±Ð°Ð·Ð¾Ð²Ñми Ð´Ð»Ñ Ð½ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ и инкÑеменÑалÑнÑми копиÑми, ÑÑок Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾ÑоÑÑÑ Ð¸ÑÑÑк, Ñем ÑамÑм пÑевÑаÑÐ°Ñ ÐµÑ Ð² полнÑÑ ÐºÐ¾Ð¿Ð¸Ñ. ÐоÑле завеÑÑÐµÐ½Ð¸Ñ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑÑавÑие ненÑжнÑми копии ÑдалÑÑÑÑÑ.
ÐÑежде Ñем обÑединÑÑÑ Ð¸Ð»Ð¸ ÑдалÑÑÑ ÑезеÑвнÑе копии, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе вÑполниÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ delete Ñ Ð¿Ð°ÑамеÑÑом --dry-run и полÑÑиÑÑ Ð² ÑезÑлÑÑаÑе ÑоÑÑоÑние вÑеÑ
имеÑÑиÑ
ÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ в ÑооÑвеÑÑÑвии Ñ ÑекÑÑей полиÑикой Ñ
ÑанениÑ; никакие необÑаÑимÑе дейÑÑÐ²Ð¸Ñ Ð¿Ñи ÑÑом вÑполнÑÑÑÑÑ Ð½Ðµ бÑдÑÑ.
ÐÐ»Ñ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð²ÑеÑ
копий Ñ Ð¾Ð¿ÑеделÑннÑм ÑоÑÑоÑнием, воÑполÑзÑйÑеÑÑ Ð¿Ð°ÑамеÑÑом --status:
pg_probackup delete -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--status=ERROR
ÐÑи Ñдалении копий по кÑиÑеÑÐ¸Ñ ÑоÑÑоÑÐ½Ð¸Ñ ÑÑÑановленнÑе полиÑики ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ ÑÑиÑÑваÑÑÑÑ.
ÐлониÑование и ÑÐ¸Ð½Ñ ÑонизаÑÐ¸Ñ ÑкземплÑÑа Postgres Pro
Ð pg_probackup Ñеализована команда catchup, коÑоÑÐ°Ñ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ ÑоздаÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÑкземплÑÑа ÑеÑвеÑа Postgres Pro напÑÑмÑÑ, не иÑполÑзÑÑ ÐºÐ°Ñалог ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹. ÐÑа команда Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°:
ÐÐ»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ ведомого ÑеÑвеÑа.
Ðак пÑавило, Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ ÑкземплÑÑа Postgres Pro иÑполÑзÑеÑÑÑ pg_basebackup. Ðоманда
catchup, еÑли Ñказан пÑÑÑой Ñелевой каÑалог, ÑÐ´ÐµÐ»Ð°ÐµÑ Ñо же Ñамое, но в паÑаллелÑном Ñежиме Ð¼Ð¾Ð¶ÐµÑ ÑÑабоÑаÑÑ Ð³Ð¾Ñаздо бÑÑÑÑее.ÐÐ»Ñ ÑÐ¸Ð½Ñ ÑонизаÑии оÑÑÑавÑего ведомого ÑеÑвеÑа Ñ Ð²ÐµÐ´ÑÑим.
ÐÑи акÑивной запиÑи на ведÑÑем ÑеÑвеÑе Ñеплики могÑÑ Ð½Ðµ ÑÑпеваÑÑ Ð²Ð¾ÑпÑоизводиÑÑ WAL Ñ Ð´Ð¾ÑÑаÑоÑной ÑкоÑоÑÑÑÑ Ð¸ в ÑезÑлÑÑаÑе оÑÑÑаваÑÑ. ÐбÑÑно в ÑÑом ÑлÑÑае ÑоздаÑÑÑÑ Ð½Ð¾Ð²Ð°Ñ Ñеплика, а Ð´Ð»Ñ ÑÑого нÑжно пеÑедаÑÑ Ð¸ ÑÐ¾Ñ ÑаниÑÑ Ð½Ð° диÑке болÑÑой обÑÑм даннÑÑ . Ðоманда
catchupнапÑÑмÑÑ Ð¿ÐµÑеноÑÐ¸Ñ ÑазлиÑÐ¸Ñ Ñ Ð²ÐµÐ´ÑÑего ÑеÑвеÑа, ÑÑо намного бÑÑÑÑее позволÑÐµÑ Ð¾Ð±Ð½Ð¾Ð²Ð¸ÑÑ Ð´Ð°Ð½Ð½Ñе на Ñже ÑÑÑеÑÑвÑÑÑей Ñеплике.
ÐпеÑаÑÐ¸Ñ catchup оÑлиÑаеÑÑÑ Ð¾Ñ Ð´ÑÑгиÑ
опеÑаÑий pg_probackup:
Ðе ÑÑебÑеÑÑÑ ÐºÐ°Ñалог ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.
РкаÑеÑÑве меÑода доÑÑавки WAL поддеÑживаеÑÑÑ ÑолÑко STREAM.
ÐопиÑование внеÑÐ½Ð¸Ñ ÐºÐ°Ñалогов не поддеÑживаеÑÑÑ.
ÐдновÑеменно Ñ
catchupнелÑÐ·Ñ Ð²ÑполнÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ DDL CREATE TABLESPACE/DROP TABLESPACE.ÐÑи ÑÐ¸Ð½Ñ ÑонизаÑии
catchupбеÑÑÑ ÑÐ°Ð¹Ð»Ñ ÐºÐ¾Ð½ÑигÑÑаÑии, Ñакие какpostgresql.conf,postgresql.auto.confилиpg_hba.conf, Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑеÑвеÑа и заменÑÐµÑ Ð¸Ð¼Ð¸ ÑооÑвеÑÑÑвÑÑÑие ÑÐ°Ð¹Ð»Ñ Ð½Ð° Ñелевом ÑеÑвеÑе. ЧÑÐ¾Ð±Ñ Ð¾ÑÑавиÑÑ ÑÐ°Ð¹Ð»Ñ ÐºÐ¾Ð½ÑигÑÑаÑии без изменений, иÑполÑзÑйÑе паÑамеÑÑ--exclude-path.
ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð´Ð³Ð¾ÑовиÑÑ ÑкземплÑÑ Postgres Pro к клониÑованиÑ/ÑÐ¸Ð½Ñ ÑонизаÑии, наÑÑÑойÑе иÑÑ Ð¾Ð´Ð½Ñй ÑеÑÐ²ÐµÑ ÐÐ ÑледÑÑÑим обÑазом:
ÐаÑÑÑойÑе клаÑÑÐµÑ Ð±Ð°Ð· даннÑÑ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑкземплÑÑа ÑеÑвеÑа.
ÐÐ»Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñ ÑдалÑнного ÑеÑвеÑа наÑÑÑойÑе ÑдалÑннÑй Ñежим.
ÐÐ»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñежима PTRACK наÑÑÑойÑе копиÑование PTRACK.
ÐеÑед клониÑованием/ÑÐ¸Ð½Ñ ÑонизаÑией ÑкземплÑÑа Postgres Pro ÑбедиÑеÑÑ, ÑÑо иÑÑ Ð¾Ð´Ð½Ñй ÑеÑÐ²ÐµÑ Ð·Ð°Ð¿ÑÑен и пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ. ЧÑÐ¾Ð±Ñ ÐºÐ»Ð¾Ð½Ð¸ÑоваÑÑ/ÑÐ¸Ð½Ñ ÑонизиÑоваÑÑ ÑкземплÑÑ Postgres Pro, в ÑиÑÑеме Ñ ÑелевÑм ÑеÑвеÑом вÑполниÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ catchup:
pg_probackup catchup -bÑежим_ÑÐ¸Ð½Ñ ÑонизаÑии--source-pgdata=пÑÑÑ_к_копиÑÑемомÑ_каÑалогÑ_даннÑÑ--destination-pgdata=пÑÑÑ_к_ÑелевомÑ_каÑалогÑ_даннÑÑ--stream [паÑамеÑÑÑ_подклÑÑениÑ] [паÑамеÑÑÑ_ÑдалÑнного_Ñежима]
ÐдеÑÑ Ñежим_ÑинÑ
ÑонизаÑии Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинимаÑÑ ÑледÑÑÑие знаÑениÑ:
FULLâ ÑоздаÑÑÑÑ Ð¿Ð¾Ð»Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ ÑкземплÑÑа Postgres Pro, Ð´Ð»Ñ ÑÑого Ñелевой каÑалог даннÑÑ ÐРдолжен бÑÑÑ Ð¿ÑÑÑÑм.DELTAâ ÑÑиÑÑваÑÑÑÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² каÑалоге даннÑÑ Ð¸ ÑоздаÑÑÑÑ Ð¸Ð½ÐºÑеменÑалÑÐ½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð´Ð»Ñ ÑÑÑаниÑ, изменÑннÑÑ Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа оÑÑановки Ñелевого ÑкземплÑÑа.PTRACKâ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² ÑÑÑаниÑÐ°Ñ Ð¾ÑÑлеживаÑÑÑÑ Ð½Ð° леÑÑ, ÑÑиÑÑваÑÑÑÑ Ð¸ копиÑÑÑÑÑÑ ÑолÑко ÑÑÑаниÑÑ, изменÑннÑе Ñ ÑоÑки ÑаÑÑ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ и Ñелевого ÑкземплÑÑов.ÐÑедÑпÑеждение
ЧÑÐ¾Ð±Ñ ÑÐ¸Ð½Ñ ÑонизиÑоваÑÑ ÑкземплÑÑ Ð² Ñежиме PTRACK, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ PTRACK веÑÑии 2.0 или вÑÑе, а знаÑиÑ, и Postgres Pro веÑÑии не ниже 11.
Указав паÑамеÑÑ --stream, можно задаÑÑ Ñежим STREAM, пÑи коÑоÑом вÑе необÑ
одимÑе ÑÐ°Ð¹Ð»Ñ WAL пеÑедаÑÑÑÑ Ñ Ð¸ÑÑ
одного ÑеÑвеÑа по пÑоÑÐ¾ÐºÐ¾Ð»Ñ ÑепликаÑии.
ÐÑ Ð¼Ð¾Ð¶ÐµÑе задаÑÑ Ð¿Ð°ÑамеÑÑÑ_подклÑÑÐµÐ½Ð¸Ñ Ðº иÑÑ Ð¾Ð´Ð½Ð¾Ð¹ ÐÐ, а еÑли она Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð½Ð° дÑÑгом ÑеÑвеÑе, Ñакже ÑкажиÑе паÑамеÑÑÑ_ÑдалÑнного_Ñежима.
ÐÑли в иÑÑ
одной ÐРеÑÑÑ ÑаблиÑнÑе пÑоÑÑÑанÑÑва, коÑоÑÑе Ð´Ð¾Ð»Ð¶Ð½Ñ ÑаÑполагаÑÑÑÑ Ð² дÑÑгиÑ
каÑалогаÑ
в Ñелевой ÑиÑÑеме, задайÑе Ñакже паÑамеÑÑ --tablespace-mapping:
pg_probackup catchup -bÑежим_ÑÐ¸Ð½Ñ ÑонизаÑии--source-pgdata=пÑÑÑ_к_копиÑÑемомÑ_каÑалогÑ_даннÑÑ--destination-pgdata=пÑÑÑ_к_ÑелевомÑ_каÑалогÑ_даннÑÑ--stream --tablespace-mapping=СТÐРЫÐ_ÐÐТÐÐÐÐ=ÐÐÐЫÐ_ÐÐТÐÐÐÐ
ЧÑÐ¾Ð±Ñ Ð¾Ð¿ÐµÑаÑÐ¸Ñ catchup вÑполнÑлаÑÑ Ð² неÑколÑко паÑаллелÑнÑÑ
поÑоков, задайÑе ÑиÑло поÑоков Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿Ð°ÑамеÑÑа --threads:
pg_probackup catchup -bÑежим_ÑÐ¸Ð½Ñ ÑонизаÑии--source-pgdata=пÑÑÑ_к_копиÑÑемомÑ_каÑалогÑ_даннÑÑ--destination-pgdata=пÑÑÑ_к_ÑелевомÑ_каÑалогÑ_даннÑÑ--stream --threads=ÑиÑло_поÑоков
ÐеÑед клониÑованием/ÑинÑ
ÑонизаÑией ÑкземплÑÑа Postgres Pro Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе запÑÑÑиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ catchup Ñ Ñлагом --dry-run, ÑÑÐ¾Ð±Ñ Ð¾ÑениÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¿ÐµÑедаваемÑÑ
Ñайлов даннÑÑ
без внеÑÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ на диÑк:
pg_probackup catchup -bÑежим_ÑÐ¸Ð½Ñ ÑонизаÑии--source-pgdata=пÑÑÑ_к_копиÑÑемомÑ_каÑалогÑ_даннÑÑ--destination-pgdata=пÑÑÑ_к_ÑелевомÑ_каÑалогÑ_даннÑÑ--stream --dry-run
ÐапÑимеÑ, пÑедположим, ÑÑо оÑÑÑал ÑдалÑннÑй ведомÑй ÑкземплÑÑ Postgres Pro, даннÑе коÑоÑого Ñ
ÑанÑÑÑÑ Ð² каÑалоге /replica-pgdata. ЧÑÐ¾Ð±Ñ ÑинÑ
ÑонизиÑоваÑÑ ÑÑÐ¾Ñ ÑкземплÑÑ Ñ ÑкземплÑÑом в каÑалоге даннÑÑ
/master-pgdata, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе вÑполниÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ catchup, вклÑÑив Ñежим PTRACK и иÑполÑзÑÑ ÑеÑÑÑе паÑаллелÑнÑÑ
поÑока, ÑледÑÑÑим обÑазом:
pg_probackup catchup --source-pgdata=/master-pgdata --destination-pgdata=/replica-pgdata -p 5432 -d postgres -U remote-postgres-user --stream --backup-mode=PTRACK --remote-host=remote-hostname --remote-user=remote-unix-username -j 4 --exclude-path=postgresql.conf --exclude-path=postgresql.auto.conf --exclude-path=pg_hba.conf --exclude-path=pg_ident.conf
ÐбÑаÑиÑе внимание, ÑÑо в ÑÑом пÑимеÑе ÑÐ°Ð¹Ð»Ñ ÐºÐ¾Ð½ÑигÑÑаÑии не бÑдÑÑ Ð¿ÐµÑезапиÑÐ°Ð½Ñ Ð²Ð¾ вÑÐµÐ¼Ñ ÑÐ¸Ð½Ñ ÑонизаÑии.
РпÑимеÑе ниже показано, как можно добавиÑÑ ÐµÑÑ Ð¾Ð´Ð¸Ð½ ÑдалÑннÑй ведомÑй ÑеÑÐ²ÐµÑ Postgres Pro Ñ ÐºÐ°Ñалогом даннÑÑ
/replica-pga, запÑÑÑив catchup в Ñежиме FULL в ÑеÑÑÑе паÑаллелÑнÑÑ
поÑока:
pg_probackup catchup --source-pgdata=/master-pgdata --destination-pgdata=/replica-pgdata -p 5432 -d postgres -U remote-postgres-user --stream --backup-mode=FULL --remote-host=remote-hostname --remote-user=remote-unix-username -j 4
СпÑавка по командной ÑÑÑоке
ÐомандÑ
Ð ÑÑом подÑазделе опиÑÑваÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ pg_probackup. ÐеобÑзаÑелÑнÑе паÑамеÑÑÑ ÑÑÐ¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ заклÑÑаÑÑÑÑ Ð² квадÑаÑнÑе Ñкобки. РподÑобноÑÑÑÑ Ð²Ñе паÑамеÑÑÑ Ð¾Ð¿Ð¸ÑÑваÑÑÑÑ Ð² подÑазделе ÐаÑамеÑÑÑ.
version
pg_probackup version [--format=json]ÐÑÐ²Ð¾Ð´Ð¸Ñ Ð²ÐµÑÑÐ¸Ñ Ð¸ ÑедакÑÐ¸Ñ pg_probackup, а Ñакже веÑÑÐ¸Ñ Ð¸ ÑедакÑÐ¸Ñ ÑеÑвеÑа Postgres Pro.
ÐÑи Ñказании --format= вÑвод бÑÐ´ÐµÑ Ð¿Ð¾Ð»ÑÑен в ÑоÑмаÑе JSON. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð´Ð»Ñ Ð²Ð½ÑÑÑенней инÑегÑаÑии Ñ Ð¿ÑиложениÑми на оÑнове JSON, напÑÐ¸Ð¼ÐµÑ PPEM. ÐÑÐ¸Ð¼ÐµÑ Ð²Ñвода JSON: json
pg_probackup version --format=json
{
"pg_probackup":
{
"version": "2.8.2",
"edition": "community"
},
"database":
{
"type": "Postgres Pro Standard",
"version": "16.3.1"
},
"compressions": [zlib, pglz, lz4, zstd]
}
help
pg_probackup help [команда]ÐÑдаÑÑ ÑпÑÐ°Ð²ÐºÑ Ð¿Ð¾ командам pg_probackup. ÐÑли в паÑамеÑÑÐ°Ñ Ð·Ð°Ð´Ð°ÑÑÑÑ Ð¾Ð´Ð½Ð° из команд pg_probackup, вÑÐ²Ð¾Ð´Ð¸Ñ Ð¿Ð¾Ð´ÑобнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¿Ð¾ паÑамеÑÑам, коÑоÑÑе пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑÑа команда.
init
pg_probackup init -BкаÑалог_копий[--skip-if-exists] [--help] [паÑамеÑÑÑ_жÑÑнала]
ÐниÑиализиÑÑÐµÑ ÐºÐ°Ñалог_копий, в коÑоÑом бÑдÑÑ Ñ
ÑаниÑÑÑÑ ÑезеÑвнÑе копии, аÑÑ
ив WAL и меÑаинÑоÑмаÑÐ¸Ñ Ð¾ ÑкопиÑованнÑÑ
клаÑÑеÑаÑ
баз даннÑÑ
. ÐÑли заданнÑй каÑалог_копий Ñже ÑÑÑеÑÑвÑеÑ, он должен бÑÑÑ Ð¿ÑÑÑÑм. РпÑоÑивном ÑлÑÑае pg_probackup вÑдаÑÑ ÑооÑвеÑÑÑвÑÑÑее ÑообÑение об оÑибке. ÐÑ Ð¼Ð¾Ð¶ÐµÑе оÑклÑÑиÑÑ Ð²Ñвод ÑÑого ÑообÑениÑ, Ñказав --skip-if-exists. ХоÑÑ ÐºÐ°Ñалог не бÑÐ´ÐµÑ Ð¸Ð½Ð¸ÑиализиÑован, пÑиложение веÑнÑÑ 0.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº подÑÐ°Ð·Ð´ÐµÐ»Ñ ÐниÑиализаÑÐ¸Ñ ÐºÐ°Ñалога копий.
add-instance
pg_probackup add-instance -BкаÑалог_копий-DкаÑалог_даннÑÑ--instance=имÑ_ÑкземплÑÑа[--skip-if-exists] [--help] [паÑамеÑÑÑ_жÑÑнала]
ÐниÑиализиÑÑÐµÑ Ð½Ð¾Ð²Ñй копиÑÑемÑй ÑкземплÑÑ Ð² каÑалоге каÑалог_копий и ÑоздаÑÑ Ñайл конÑигÑÑаÑии pg_probackup.conf, ÑпÑавлÑÑÑий паÑамеÑÑами pg_probackup, оÑноÑÑÑимиÑÑ Ðº клаÑÑеÑÑ Ð² Ñказанном каÑалоге_даннÑÑ
. ÐÑли каÑалог Ñже бÑл иниÑиализиÑован, ÑообÑение об оÑибке можно оÑклÑÑиÑÑ, Ñказав --skip-if-exists.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº подÑÐ°Ð·Ð´ÐµÐ»Ñ ÐпÑеделение копиÑÑемого ÑкземплÑÑа.
del-instance
pg_probackup del-instance -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа[--help] [паÑамеÑÑÑ_жÑÑнала]
УдалÑÐµÑ Ð²Ñе ÑезеÑвнÑе копии и ÑÐ°Ð¹Ð»Ñ WAL, ÑвÑзаннÑе Ñ ÑказаннÑм ÑкземплÑÑом.
set-config
pg_probackup set-config -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа[--help] [--pgdata=пÑÑÑ_к_pgdata] [--retention-redundancy=избÑÑоÑноÑÑÑ][--retention-window=окно][--wal-depth=глÑбина_wal] [--compress-algorithm=алгоÑиÑм_ÑжаÑиÑ] [--compress-level=ÑÑовенÑ_ÑжаÑиÑ] [-dимÑ_базÑ] [-hÑеÑвеÑ] [-pпоÑÑ] [-UимÑ_полÑзоваÑелÑ] [--archive-timeout=Ñайм-аÑÑ] [--external-dirs=пÑÑÑ_внеÑнего_каÑалога] [--restore-command=команда] [паÑамеÑÑÑ_ÑдалÑнного_Ñежима] [паÑамеÑÑÑ_ÑдалÑнного_аÑÑ Ð¸Ð²Ð°_wal] [паÑамеÑÑÑ_жÑÑнала]
ÐобавлÑÐµÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñе паÑамеÑÑÑ ÑоединениÑ, ÑжаÑиÑ, Ñ
ÑанениÑ, Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¶ÑÑнала и ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð²Ð½ÐµÑниÑ
каÑалогов в конÑигÑÑаÑионнÑй Ñайл pg_probackup.conf либо изменÑÐµÑ Ñанее заданнÑе знаÑениÑ.
ÐÑе поддеÑживаемÑе паÑамеÑÑÑ Ð¾Ð¿Ð¸ÑÑваÑÑÑÑ Ð² подÑазделе ÐаÑамеÑÑÑ.
РедакÑиÑоваÑÑ pg_probackup.conf вÑÑÑнÑÑ Ð½Ðµ ÑекомендÑеÑÑÑ.
set-backup
pg_probackup set-backup -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-iид_ÑезеÑвной_копии{--ttl=вÑемÑ_жизни| --expire-time=вÑемÑ} [--note=замеÑка_к_копии] [--help] [паÑамеÑÑÑ_жÑÑнала]
УÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð·Ð°Ð´Ð°Ð½Ð½Ñе Ð´Ð»Ñ ÐºÐ¾Ð½ÐºÑеÑной ÑезеÑвной копии паÑамеÑÑÑ Ð² конÑигÑÑаÑионном Ñайле backup.control или изменÑÐµÑ Ñанее опÑеделÑннÑе знаÑениÑ.
--note=замеÑка_к_копииÐадаÑÑ ÑекÑÑовÑÑ Ð·Ð°Ð¼ÐµÑÐºÑ Ð´Ð»Ñ ÑезеÑвной копии. ÐÑли
замеÑка_к_копииÑодеÑÐ¶Ð¸Ñ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¿ÐµÑевода ÑÑÑоки, ÑÐ¾Ñ Ñанена бÑÐ´ÐµÑ ÑолÑко подÑÑÑока до пеÑвого пеÑевода ÑÑÑоки. ÐакÑималÑнÑй ÑÐ°Ð·Ð¼ÐµÑ Ð·Ð°Ð¼ÐµÑки Ñавен 1 ÐÐ. ÐнаÑение'none'ÑдалÑÐµÑ ÑекÑÑÑÑ Ð·Ð°Ð¼ÐµÑкÑ.
ÐÑе поддеÑживаемÑе ваÑианÑÑ Ð·Ð°ÐºÑÐµÐ¿Ð»ÐµÐ½Ð¸Ñ Ð¾Ð¿Ð¸ÑÑваÑÑÑÑ Ð² подÑазделе ÐаÑамеÑÑÑ Ð·Ð°ÐºÑеплениÑ.
show-config
pg_probackup show-config -BкаÑалог_копий--instanceимÑ_ÑкземплÑÑа[--format=plain|json] [--default-units][паÑамеÑÑÑ_жÑÑнала]
ÐÑÐ²Ð¾Ð´Ð¸Ñ Ð²Ñе ÑекÑÑие паÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии pg_probackup, в Ñом ÑиÑле Ñе, ÑÑо ÑодеÑжаÑÑÑ Ð² Ñайле pg_probackup.conf, ÑазмеÑÑнном в каÑалоге . ÐÑ Ð¼Ð¾Ð¶ÐµÑе добавиÑÑ Ð¿Ð°ÑамеÑÑ ÐºÐ°Ñалог_копий/backups/имÑ_ÑкземплÑÑа--format=json Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÑезÑлÑÑаÑа в ÑоÑмаÑе JSON. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ð°ÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии вÑводÑÑÑÑ Ð¾Ð±ÑÑнÑм ÑекÑÑом.
Также можно добавиÑÑ Ð¿Ð°ÑамеÑÑ --no-scale-units, ÑÑÐ¾Ð±Ñ Ð²ÑводиÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑигÑÑаÑионнÑÑ
паÑамеÑÑов вÑемени и обÑÑма памÑÑи в единиÑаÑ
измеÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ. РпÑоÑивном ÑлÑÑае ÑÑи знаÑÐµÐ½Ð¸Ñ Ð¿ÑеобÑазÑÑÑÑÑ Ð² более кÑÑпнÑе единиÑÑ Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ Ñдобного оÑобÑажениÑ. ÐапÑимеÑ, знаÑение паÑамеÑÑа archive-timeout 300 бÑÐ´ÐµÑ Ð²ÑводиÑÑÑÑ ÐºÐ°Ðº 5min, а знаÑение archive-timeout 301 â как 301s. ÐÑоме Ñого, Ñ Ñказанием --no-scale-units паÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии вÑводÑÑÑÑ Ð±ÐµÐ· ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð·Ð¼ÐµÑениÑ, а знаÑÐµÐ½Ð¸Ñ ÑоÑмаÑа JSON, а Ñакже ÑиÑловÑе и логиÑеÑкие знаÑÐµÐ½Ð¸Ñ Ð½Ðµ заклÑÑаÑÑÑÑ Ð² кавÑÑки, ÑÑо ÑпÑоÑÐ°ÐµÑ ÑазбоÑ.
ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑодеÑжимое pg_probackup.conf, иÑполÑзÑйÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ set-config.
show
pg_probackup show -BкаÑалог_копий[--help] [--instance=имÑ_ÑкземплÑÑа[-iид_ÑезеÑвной_копии| --archive]] [--format=plain|json] [--no-color] [--show-symlinks] [паÑамеÑÑÑ_жÑÑнала]
ÐоказÑÐ²Ð°ÐµÑ ÑодеÑжимое каÑалога копий. ÐÑли задано имÑ_ÑкземплÑÑа и ид_ÑезеÑвной_копии, вÑводиÑÑÑ Ð¿Ð¾Ð´ÑÐ¾Ð±Ð½Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾Ð± ÑÑой копии. С Ñказанием --archive ÑÑа команда показÑÐ²Ð°ÐµÑ ÑодеÑжимое аÑÑ
ива WAL в данном каÑалоге.
Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑодеÑжимое каÑалога пÑедÑÑавлÑеÑÑÑ Ð² виде обÑÑного ÑекÑÑа. ÐÑ Ð¼Ð¾Ð¶ÐµÑе пеÑедаÑÑ Ð¿Ð°ÑамеÑÑ --format=json, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑезÑлÑÑÐ°Ñ Ð² ÑоÑмаÑе JSON. С паÑамеÑÑом --no-color вÑводимÑе ÑообÑÐµÐ½Ð¸Ñ Ð½Ðµ вÑделÑÑÑÑÑ ÑвеÑом.
ÐÑли Ñказан паÑамеÑÑ --show-symlinks, команда Ñакже показÑÐ²Ð°ÐµÑ ÑÑÑлки Ð¼ÐµÐ¶Ð´Ñ Ð¾Ð±ÑединÑемÑми ÑезеÑвнÑми копиÑми и иÑÑ
однÑми полнÑми копиÑми, Ñ ÐºÐ¾ÑоÑÑми бÑли обÑÐµÐ´Ð¸Ð½ÐµÐ½Ñ Ð¸Ð½ÐºÑеменÑалÑнÑе копии.
Ðолее подÑобно иÑполÑзование ÑÑой ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¾Ð¿Ð¸ÑÑваеÑÑÑ Ð² подÑÐ°Ð·Ð´ÐµÐ»Ð°Ñ Ð£Ð¿Ñавление каÑалогом ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ и ÐÑоÑмоÑÑ Ð¾Ð³Ð»Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð°ÑÑ Ð¸Ð²Ð° WAL.
backup
pg_probackup backup -BкаÑалог_копий-bÑежим_копиÑованиÑ--instance=имÑ_ÑкземплÑÑа[--help] [-jÑиÑло_поÑоков] [--progress] [-C] [--stream [-S slot_name] [--temp-slot[=true|false|on|off]]] [--backup-pg-log] [--no-validate] [--skip-block-validation] [-w --no-password] [-W --password] [--write-rate-limit=ÑкоÑоÑÑÑ_запиÑи] [--archive-timeout=Ñайм-аÑÑ] [--external-dirs=пÑÑÑ_внеÑнего_каÑалога] [--no-sync] [--note=замеÑка_к_копии] [паÑамеÑÑÑ_ÑоединениÑ] [паÑамеÑÑÑ_ÑжаÑиÑ] [паÑамеÑÑÑ_ÑдалÑнного_Ñежима] [паÑамеÑÑÑ_Ñ ÑанениÑ] [паÑамеÑÑÑ_закÑеплениÑ] [паÑамеÑÑÑ_жÑÑнала]
СоздаÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÑкземплÑÑа Postgres Pro.
-bÑежим--backup-mode=ÑежимÐÑбиÑÐ°ÐµÑ Ñежим ÑезеÑвного копиÑованиÑ. ÐоддеÑживаÑÑÑÑ ÑледÑÑÑие ÑежимÑ:
FULL,DELTA,PAGEиPTRACK.--backup-threadsÑиÑло_поÑоковУказÑÐ²Ð°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво поÑоков Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñайлов. ÐеÑеопÑеделÑÐµÑ Ð¿Ð°ÑамеÑÑ
j/--threadsÐ´Ð»Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñайлов.--validate-threadsÑиÑло_поÑоковУказÑÐ²Ð°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво поÑоков Ð´Ð»Ñ Ð¿ÑовеÑки ÑезеÑвной копии. ÐеÑеопÑеделÑÐµÑ Ð¿Ð°ÑамеÑÑ
j/--threadsÐ´Ð»Ñ Ð¿ÑовеÑки ÑезеÑвной копии.-C--smooth-checkpointРаÑÑÑÐ³Ð¸Ð²Ð°ÐµÑ Ð²Ñполнение конÑÑолÑной ÑоÑки во вÑемени. Ðо ÑмолÑÐ°Ð½Ð¸Ñ pg_probackup пÑÑаеÑÑÑ Ð¿ÑоизвеÑÑи конÑÑолÑнÑÑ ÑоÑÐºÑ Ð¼Ð°ÐºÑималÑно бÑÑÑÑо.
--streamСоздаÑÑ Ð¿Ð¾ÑоковÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ (STREAM), вклÑÑÐ°Ñ Ð² Ð½ÐµÑ Ð²Ñе Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе ÑÐ°Ð¹Ð»Ñ WAL, полÑÑаемÑе Ð¾Ñ ÑеÑвеÑа по пÑоÑÐ¾ÐºÐ¾Ð»Ñ ÑепликаÑии.
--temp-slot[=true|false|on|off]СоздаÑÑ Ð²ÑеменнÑй ÑÐ»Ð¾Ñ ÑизиÑеÑкой ÑепликаÑии Ð´Ð»Ñ Ð¿ÐµÑедаÑи WAL Ñ Ð°ÑÑ Ð¸Ð²Ð¸ÑÑемого ÑкземплÑÑа Postgres Pro. Ðо ÑмолÑаниÑ
--temp-slotвклÑÑÑн. ÐÑо гаÑанÑиÑÑеÑ, ÑÑо вÑе нÑжнÑе ÑегменÑÑ WAL бÑдÑÑ Ð´Ð¾ÑÑÑпнÑ, еÑли в пÑоÑеÑÑе копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоизойдÑÑ Ð¿ÐµÑеклÑÑение ÑегменÑов WAL. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ ÑолÑко вмеÑÑе Ñ Ð¿Ð°ÑамеÑÑом--stream. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð¼Ñ ÑлоÑа âpg_probackup_slot. ЧÑÐ¾Ð±Ñ ÐµÐ³Ð¾ поменÑÑÑ, воÑполÑзÑйÑеÑÑ Ð¿Ð°ÑамеÑÑом--slot/-Sи Ñвно ÑкажиÑе--temp-slotили--temp-slot=.true|on-SимÑ_ÑлоÑа--slot=имÑ_ÑлоÑаÐадаÑÑ ÑÐ»Ð¾Ñ ÑепликаÑии, к коÑоÑÐ¾Ð¼Ñ Ð±ÑÐ´ÐµÑ Ð²Ñполнено подклÑÑение Ð´Ð»Ñ Ð¿ÐµÑедаÑи WAL. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑказаÑÑ ÑолÑко вмеÑÑе Ñ Ð¿Ð°ÑамеÑÑом
--stream.--backup-pg-logÐклÑÑÐ°ÐµÑ Ð² ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÐºÐ°Ñалог
log. ÐÑÐ¾Ñ ÐºÐ°Ñалог обÑÑно ÑодеÑÐ¶Ð¸Ñ Ð¶ÑÑÐ½Ð°Ð»Ñ ÑообÑений ÑеÑвеÑа. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÐºÐ°Ñалогlogв ÐºÐ¾Ð¿Ð¸Ñ Ð½Ðµ вклÑÑаеÑÑÑ.-EпÑÑÑ_внеÑнего_каÑалога--external-dirs=пÑÑÑ_внеÑнего_каÑалогаÐклÑÑÐ°ÐµÑ Ð² ÑоздаваемÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÑказаннÑй каÑалог, ÑекÑÑÑивно копиÑÑÑ ÐµÐ³Ð¾ ÑодеÑжимое в оÑделÑнÑй подкаÑалог каÑалога ÑезеÑвной копии. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ Ð´Ð»Ñ Ð°ÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑкÑипÑов, SQL-дампов и Ñайлов конÑигÑÑаÑии, ÑаÑположеннÑÑ Ð²Ð½Ðµ каÑалога даннÑÑ . ÐÑли Ð²Ñ Ñ Ð¾ÑиÑе аÑÑ Ð¸Ð²Ð¸ÑоваÑÑ Ð½ÐµÑколÑко внеÑÐ½Ð¸Ñ ÐºÐ°Ñалогов, Ð¸Ñ Ð¿ÑÑи нÑжно ÑазделÑÑÑ Ð´Ð²Ð¾ÐµÑоÑием в Linux или ÑоÑкой Ñ Ð·Ð°Ð¿ÑÑой в Windows.
--write-rate-limit=ÑкоÑоÑÑÑ_запиÑиÐадаÑÑ ÑкоÑоÑÑÑ Ð·Ð°Ð¿Ð¸Ñи даннÑÑ Ð½Ð° диÑк (в мегабайÑÐ°Ñ /гигабайÑÐ°Ñ Ð² ÑекÑндÑ). Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑказÑваеÑÑÑ Ð² мегабайÑÐ°Ñ Ð² ÑекÑндÑ. ÐапÑимеÑ:
--write-rate-limit=1GBpsили--write-rate-limit=100(мегабайÑÑ Ð² ÑекÑндÑ). ÐнаÑение по ÑмолÑаниÑ: 0 (без огÑаниÑений).ÐÑли знаÑение паÑамеÑÑа Ñказано, в конÑе ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð±ÑÐ´ÐµÑ Ð²Ñведена ÑледÑÑÑÐ°Ñ Ð¸Ð½ÑоÑмаÑиÑ:
writtenâ обÑÑм запиÑаннÑÑ Ð´Ð°Ð½Ð½ÑÑ , в ÐÐ.total timeâ вÑÐµÐ¼Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¿ÐµÑвой и поÑледней запиÑÑÑ (в ÑекÑÐ½Ð´Ð°Ñ ). ÐбÑаÑиÑе внимание, ÑÑо ÑÑо не обÑее вÑÐµÐ¼Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑезеÑвной копии.sleep timeâ вÑÐµÐ¼Ñ Ð¿ÑинÑдиÑелÑной задеÑжки, в ÑекÑÐ½Ð´Ð°Ñ .average rateâ ÑакÑиÑеÑÐºÐ°Ñ ÑÑеднÑÑ ÑкоÑоÑÑÑ Ð·Ð°Ð¿Ð¸Ñи, в мегабайÑÐ°Ñ Ð² ÑекÑндÑ.
ÐапÑимеÑ:
INFO: Rate limit: written 14975.445 MB, total time 17.163 s, sleep time 2.370 s, average rate 872.560715 MBps
--archive-timeout=вÑемÑ_ожиданиÑÐадаÑÑ Ñайм-аÑÑ Ð´Ð»Ñ Ð°ÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑегменÑов WAL и поÑоковой пеÑедаÑи (в ÑекÑÐ½Ð´Ð°Ñ ). Ðо ÑмолÑÐ°Ð½Ð¸Ñ pg_probackup ждÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑÐ¸Ñ Ð¾Ð¿ÐµÑаÑий 300 ÑекÑнд.
--skip-block-validationÐÑклÑÑÐ°ÐµÑ Ð¿ÑовеÑÐºÑ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑÑмм на ÑÑовне блоков в пÑоÑеÑÑе ÑезеÑвного копиÑованиÑ.
--no-validateÐÑопÑÑÐºÐ°ÐµÑ Ð°Ð²ÑомаÑиÑеÑкÑÑ Ð¿ÑовеÑÐºÑ Ñозданной ÑезеÑвной копии. ÐÑÐ¾Ñ ÐºÐ»ÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½, еÑли Ð²Ñ ÑегÑлÑÑно пÑовеÑÑеÑе ÑезеÑвнÑе копии и Ñ Ð¾ÑиÑе ÑокÑаÑиÑÑ Ð²ÑÐµÐ¼Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸.
--no-syncÐе ÑбÑаÑÑваÑÑ ÐºÐ¾Ð¿Ð¸ÑÑемÑе ÑÐ°Ð¹Ð»Ñ Ð½Ð° диÑк. ÐÑÐ¾Ñ Ñлаг позволÑÐµÑ Ð½ÐµÑколÑко ÑÑкоÑиÑÑ Ð¿ÑоÑеÑÑ ÐºÐ¾Ð¿Ð¸ÑованиÑ. ÐÑполÑзование ÑÑого Ñлага Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к повÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑлÑÑае аваÑии опеÑаÑионной ÑиÑÑÐµÐ¼Ñ Ð¸Ð»Ð¸ аппаÑаÑного ÑбоÑ. ÐÑли Ð²Ñ Ð¸ÑполÑзÑеÑе его, ÑекомендÑеÑÑÑ Ð²ÑполниÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ validate ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле завеÑÑÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸ÑованиÑ, ÑÑÐ¾Ð±Ñ ÑбедиÑÑÑÑ Ð² оÑÑÑÑÑÑвии пÑоблем.
--note=замеÑка_к_копииÐадаÑÑ ÑекÑÑовÑÑ Ð·Ð°Ð¼ÐµÑÐºÑ Ð´Ð»Ñ ÑезеÑвной копии. ÐÑли
замеÑка_к_копииÑодеÑÐ¶Ð¸Ñ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¿ÐµÑевода ÑÑÑоки, ÑÐ¾Ñ Ñанена бÑÐ´ÐµÑ ÑолÑко подÑÑÑока до пеÑвого пеÑевода ÑÑÑоки. ÐакÑималÑнÑй ÑÐ°Ð·Ð¼ÐµÑ Ð·Ð°Ð¼ÐµÑки Ñавен 1 ÐÐ. ÐнаÑение'none'ÑдалÑÐµÑ ÑекÑÑÑÑ Ð·Ð°Ð¼ÐµÑкÑ.
Ðа подÑобной инÑоÑмаÑией о паÑамеÑÑÐ°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¾Ð±ÑаÑиÑеÑÑ Ðº подÑазделам ÐбÑие паÑамеÑÑÑ, ÐаÑамеÑÑÑ ÑоединениÑ, ÐаÑамеÑÑÑ Ñ ÑанениÑ, ÐаÑамеÑÑÑ Ð·Ð°ÐºÑеплениÑ, ÐаÑамеÑÑÑ ÑдалÑнного Ñежима, ÐаÑамеÑÑÑ ÑжаÑÐ¸Ñ Ð¸ ÐаÑамеÑÑÑ Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¶ÑÑнала.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº подÑÐ°Ð·Ð´ÐµÐ»Ñ Ð¡Ð¾Ð·Ð´Ð°Ð½Ð¸Ðµ ÑезеÑвной копии.
restore
pg_probackup restore -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа[--help] [--dry-run] [-DкаÑалог_даннÑÑ] [-iид_ÑезеÑвной_копии] [-jÑиÑло_поÑоков] [--progress] [-TСТÐРЫÐ_ÐÐТÐÐÐÐ=ÐÐÐЫÐ_ÐÐТÐÐÐÐ] [--external-mapping=СТÐРЫÐ_ÐÐТÐÐÐÐ=ÐÐÐЫÐ_ÐÐТÐÐÐÐ] [--skip-external-dirs] [-R | --restore-as-replica] [--no-validate] [--skip-block-validation] [--force] [--no-sync] [--restore-command=команда] [--primary-conninfo=ÑÑÑока_подклÑÑениÑ] [-S | --primary-slot-name=имÑ_ÑлоÑа] [-XкаÑалог_wal| --waldir=каÑалог_wal] [паÑамеÑÑÑ_ÑоÑки_воÑÑÑановлениÑ] [паÑамеÑÑÑ_жÑÑнала] [паÑамеÑÑÑ_ÑдалÑнного_Ñежима] [паÑамеÑÑÑ_ÑаÑÑиÑного_воÑÑÑановлениÑ] [паÑамеÑÑÑ_ÑдалÑнного_аÑÑ Ð¸Ð²Ð°_wal]
ÐоÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ ÑкземплÑÑ Postgres Pro из ÑезеÑвной копии, ÑаÑположенной в каÑалоге каÑалог_копий. ÐÑли Ð²Ñ ÑкажеÑе один или неÑколÑко паÑамеÑÑов ÑоÑки воÑÑÑановлениÑ, pg_probackup найдÑÑ Ð±Ð»Ð¸Ð¶Ð°Ð¹ÑÑÑ Ðº ÑÑой ÑоÑке ÐºÐ¾Ð¿Ð¸Ñ Ð¸ вÑÐ¿Ð¾Ð»Ð½Ð¸Ñ Ð²Ð¾ÑÑÑановление до заданной ÑоÑки. ÐÑли ни иденÑиÑикаÑÐ¾Ñ ÐºÐ¾Ð¿Ð¸Ð¸, ни паÑамеÑÑÑ ÑоÑки воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ðµ задаÑÑÑÑ, pg_probackup вÑполнÑÐµÑ Ð²Ð¾ÑÑÑановление, иÑполÑзÑÑ ÑамÑÑ Ð¿Ð¾ÑледнÑÑ ÐºÐ¾Ð¿Ð¸Ñ.
-R--restore-as-replicaСоздаÑÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑнÑй Ñайл конÑигÑÑаÑии воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð±Ð»ÐµÐ³ÑÐµÐ½Ð¸Ñ Ð½Ð°ÑÑÑойки ведомого ÑеÑвеÑа. ÐÑли Ð´Ð»Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑепликаÑии ÑÑебÑеÑÑÑ Ð¿Ð°ÑолÑ, его нÑжно дополниÑелÑно задаÑÑ Ð²ÑÑÑнÑÑ Ð² primary_conninfo. ÐÐ»Ñ Postgres Pro веÑÑии 11 и ниже паÑамеÑÑÑ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑÐ¾Ñ ÑанÑÑÑÑÑ Ð² каÑалоге даннÑÑ Ð² Ñайле
recovery.conf, но Ð´Ð»Ñ Ð²ÐµÑÑий Postgres Pro, наÑÐ¸Ð½Ð°Ñ Ñ 12, pg_probackup ÑÐ¾Ñ ÑанÑÐµÑ ÑÑи паÑамеÑÑÑ Ð² Ñайлеprobackup_recovery.conf.--primary-conninfo=ÑÑÑока_подклÑÑениÑУÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ðµ знаÑение Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа primary_conninfo. ÐÑо знаÑение ÑÑиÑÑваеÑÑÑ ÑолÑко пÑи иÑполÑзовании Ñлага
-R.ÐÑимеÑ:
--primary-conninfo="host=192.168.1.50 port=5432 user=foo password=foopass"-S--primary-slot-name=имÑ_ÑлоÑаУÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ðµ знаÑение Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа primary_slot_name. ÐÑо знаÑение ÑÑиÑÑваеÑÑÑ ÑолÑко пÑи иÑполÑзовании Ñлага
-R.-TСТÐРЫÐ_ÐÐТÐÐÐÐ=ÐÐÐЫÐ_ÐÐТÐÐÐÐ--tablespace-mapping=СТÐРЫÐ_ÐÐТÐÐÐÐ=ÐÐÐЫÐ_ÐÐТÐÐÐÐÐеÑемеÑÐ°ÐµÑ ÑаблиÑное пÑоÑÑÑанÑÑво из каÑалога
СТÐРЫÐ_ÐÐТÐÐÐÐвÐÐÐЫÐ_ÐÐТÐÐÐÐво вÑÐµÐ¼Ñ Ð²Ð¾ÑÑÑановлениÑ. ÐСТÐРЫÐ_ÐÐТÐÐÐÐ, иÐÐÐЫÐ_ÐÐТÐÐÐÐÐ´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ Ð°Ð±ÑолÑÑнÑми пÑÑÑми. ÐÑли пÑÑÑ ÑодеÑÐ¶Ð¸Ñ Ð·Ð½Ð°Ðº Ñавно (=), ÑкÑаниÑÑйÑе ÑÑÐ¾Ñ Ð·Ð½Ð°Ðº обÑаÑной коÑой ÑеÑÑой. ÐаннÑй паÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ ÑказÑваÑÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно Ð´Ð»Ñ Ð¿ÐµÑемеÑÐµÐ½Ð¸Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв.--external-mapping=СТÐРЫÐ_ÐÐТÐÐÐÐ=ÐÐÐЫÐ_ÐÐТÐÐÐÐÐеÑемеÑÐ°ÐµÑ Ð²Ð½ÐµÑний каÑалог, вклÑÑÑннÑй в ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ, из каÑалога
СТÐРЫÐ_ÐÐТÐÐÐÐвÐÐÐЫÐ_ÐÐТÐÐÐÐво вÑÐµÐ¼Ñ Ð²Ð¾ÑÑÑановлениÑ. ÐСТÐРЫÐ_ÐÐТÐÐÐÐ, иÐÐÐЫÐ_ÐÐТÐÐÐÐÐ´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ Ð°Ð±ÑолÑÑнÑми пÑÑÑми. ÐÑли пÑÑÑ ÑодеÑÐ¶Ð¸Ñ Ð·Ð½Ð°Ðº Ñавно (=), ÑкÑаниÑÑйÑе ÑÑÐ¾Ñ Ð·Ð½Ð°Ðº обÑаÑной коÑой ÑеÑÑой. ÐаннÑй паÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ ÑказÑваÑÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно Ð´Ð»Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÐºÐ°Ñалогов.--skip-external-dirsÐÑопÑÑкаÑÑ Ð²Ð½ÐµÑние каÑалоги, вклÑÑÑннÑе в ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ñказанием
--external-dirs. СодеÑжимое ÑÑÐ¸Ñ ÐºÐ°Ñалогов не бÑÐ´ÐµÑ Ð²Ð¾ÑÑÑановлено.--skip-block-validationÐÑклÑÑÐ°ÐµÑ Ð¿ÑовеÑÐºÑ ÐºÐ¾Ð½ÑÑолÑнÑÑ ÑÑмм на ÑÑовне блоков Ð´Ð»Ñ ÑÑкоÑÐµÐ½Ð¸Ñ Ð¿ÑовеÑки ÑелоÑÑноÑÑи. ÐÑи авÑомаÑиÑеÑкой пÑовеÑке пеÑед воÑÑÑановлением бÑдÑÑ Ð¿ÑовеÑÑÑÑÑÑ ÑолÑко конÑÑолÑнÑе ÑÑÐ¼Ð¼Ñ Ð½Ð° ÑÑовне Ñайлов.
--no-validateÐÑопÑÑÐºÐ°ÐµÑ Ð¿ÑовеÑÐºÑ ÑезеÑвного копиÑованиÑ. ÐÑÐ¾Ñ ÐºÐ»ÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½, еÑли Ð²Ñ ÑегÑлÑÑно пÑовеÑÑеÑе копии и Ñ Ð¾ÑиÑе ÑокÑаÑиÑÑ Ð²ÑÐµÐ¼Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ .
--restore-command=командаÐадаÑÑ Ð·Ð½Ð°Ñение Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа restore_command. ÐапÑимеÑ:
--restore-command='cp /mnt/server/archivedir/%f "%p"'--forceÐозволÑÐµÑ Ð¸Ð³Ð½Ð¾ÑиÑоваÑÑ Ð¾ÑибоÑное ÑоÑÑоÑние копии. ÐÑÐ¾Ñ Ñлаг можно иÑполÑзоваÑÑ, когда ÑÑебÑеÑÑÑ Ð²Ð¾ÑÑÑановиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Postgres Pro из повÑеждÑнной или некоÑÑекÑной копии. ÐÑименÑйÑе его Ñ Ð¾ÑÑоÑожноÑÑÑÑ. ÐÑли в Ñелевом каÑалоге
PGDATAиденÑиÑикаÑÐ¾Ñ ÑиÑÑÐµÐ¼Ñ Ð¾ÑлиÑаеÑÑÑ Ð¾Ñ Ñого, ÑÑо Ñказан в копии, пÑи инкÑеменÑалÑном воÑÑÑановлении Ñ ÑÑим Ñлагом ÑодеÑжимое каÑалога бÑÐ´ÐµÑ Ð¿ÐµÑезапиÑано (Ñогда как без Ñлага Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÐµÑ Ð¾Ñибка). Также в ÑлÑÑае пеÑенапÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñказанием--tablespace-mappingÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв в непÑÑÑÑе каÑалоги ÑодеÑжимое ÑÑÐ¸Ñ ÐºÐ°Ñалогов бÑÐ´ÐµÑ Ñдалено.--no-syncÐе ÑбÑаÑÑваÑÑ Ð²Ð¾ÑÑÑанавливаемÑе ÑÐ°Ð¹Ð»Ñ Ð½Ð° диÑк. ÐÑÐ¾Ñ Ñлаг позволÑÐµÑ Ð½ÐµÑколÑко ÑÑкоÑиÑÑ Ð¿ÑоÑеÑÑ Ð²Ð¾ÑÑÑановлениÑ. ÐÑполÑзование ÑÑого Ñлага Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к повÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑлÑÑае аваÑии опеÑаÑионной ÑиÑÑÐµÐ¼Ñ Ð¸Ð»Ð¸ аппаÑаÑного ÑбоÑ. ÐÑли Ñакое ÑобÑÑие пÑоизойдÑÑ, вам поÑÑебÑеÑÑÑ Ð·Ð°Ð¿ÑÑÑиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ restore еÑÑ Ñаз.
-XкаÑалог_wal--waldir=каÑалог_walÐадаÑÑ ÐºÐ°Ñалог, в коÑоÑÑй бÑдÑÑ Ð·Ð°Ð¿Ð¸ÑÐ°Ð½Ñ ÑÐ°Ð¹Ð»Ñ WAL. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÐ°Ð¹Ð»Ñ WAL бÑдÑÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð² подкаÑалог
pg_walÑелевого каÑалога, но Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑого паÑамеÑÑа Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ помеÑÑиÑÑ Ð² лÑбое меÑÑо. ÐÑÑÑкаÑалог_walдолжен бÑÑÑ Ð°Ð±ÑолÑÑнÑм; ÑÑÐ¾Ñ Ð¿ÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ ÑÑÑеÑÑвоваÑÑ, но еÑли он ÑÑÑеÑÑвÑеÑ, он должен бÑÑÑ Ð¿ÑÑÑÑм.
Ðа подÑобной инÑоÑмаÑией о паÑамеÑÑÐ°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¾Ð±ÑаÑиÑеÑÑ Ðº подÑазделам ÐбÑие паÑамеÑÑÑ, ÐаÑамеÑÑÑ ÑоÑки воÑÑÑановлениÑ, ÐаÑамеÑÑÑ ÑдалÑнного ÑеÑвеÑа, ÐаÑамеÑÑÑ ÑдалÑнного аÑÑ Ð¸Ð²Ð° WAL, ÐаÑамеÑÑÑ Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¶ÑÑнала и ÐаÑамеÑÑÑ ÑаÑÑиÑного воÑÑÑановлениÑ.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº подÑÐ°Ð·Ð´ÐµÐ»Ñ ÐоÑÑÑановление клаÑÑеÑа.
checkdb
pg_probackup checkdb [-BкаÑалог_копий] [--instance=имÑ_ÑкземплÑÑа] [-DкаÑалог_даннÑÑ] [--help] [-jÑиÑло_поÑоков] [--progress] [--amcheck [--skip-block-validation] [--checkunique] [--heapallindexed]] [паÑамеÑÑÑ_ÑоединениÑ] [паÑамеÑÑÑ_жÑÑнала]
ÐÑовеÑÑÐµÑ ÑелоÑÑноÑÑÑ ÐºÐ»Ð°ÑÑеÑа баз даннÑÑ Postgres Pro, вÑÑвлÑÑ ÑизиÑеÑкие и логиÑеÑкие повÑеждениÑ.
--amcheckÐÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ Ð»Ð¾Ð³Ð¸ÑеÑкÑÑ Ð¿ÑовеÑÐºÑ Ð¸Ð½Ð´ÐµÐºÑов Ð´Ð»Ñ Ñказанного ÑкземплÑÑа Postgres Pro, еÑли не бÑли вÑÑÐ²Ð»ÐµÐ½Ñ Ð¿Ð¾Ð²ÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð¿Ñи пÑовеÑке Ñайлов даннÑÑ . ÐÐ»Ñ Ð¿ÑовеÑки индекÑов в базе даннÑÑ Ð² ней должно бÑÑÑ ÑÑÑановлено ÑаÑÑиÑение amcheck или amcheck_next. Ð Ð±Ð°Ð·Ð°Ñ Ð´Ð°Ð½Ð½ÑÑ , где amcheck оÑÑÑÑÑÑвÑеÑ, индекÑÑ Ð¿ÑовеÑÑÑÑÑÑ Ð½Ðµ бÑдÑÑ. ÐополниÑелÑнÑе паÑамеÑÑÑ
--checkuniqueи--heapallindexedдейÑÑвÑÑÑ Ð² завиÑимоÑÑи Ð¾Ñ ÑÑÑановленной веÑÑии amcheck.--checkuniqueÐÑовеÑÑÐµÑ Ð¾Ð³ÑаниÑÐµÐ½Ð¸Ñ ÑникалÑноÑÑи во вÑÐµÐ¼Ñ Ð»Ð¾Ð³Ð¸ÑеÑкой пÑовеÑки индекÑов. ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÑÑÐ¾Ñ Ñлаг ÑолÑко вмеÑÑе Ñ Ñлагом
--amcheck, когда в базе даннÑÑ ÑÑÑановлено ÑаÑÑиÑение amcheck.ÐÑа пÑовеÑка возможна, ÑолÑко еÑли в иÑполÑзÑемой вами веÑÑии ÑаÑÑиÑÐµÐ½Ð¸Ñ amcheck ÑÑнкÑиÑ
bt_index_checkпÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð°ÑамеÑÑcheckunique.--heapallindexedÐÑовеÑÑеÑ, оÑÑÐ°Ð¶ÐµÐ½Ñ Ð»Ð¸ в индекÑÐ°Ñ Ð²Ñе коÑÑежи кÑÑи, коÑоÑÑе Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÑоиндекÑиÑованÑ. ÐÑÐ¾Ñ ÐºÐ»ÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ ÑолÑко вмеÑÑе Ñ
--amcheck.ÐÑа пÑовеÑка возможна, ÑолÑко еÑли в иÑполÑзÑемой вами веÑÑии ÑаÑÑиÑÐµÐ½Ð¸Ñ amcheck/amcheck_next ÑÑнкÑиÑ
bt_index_checkпÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð°ÑамеÑÑheapallindexed.--skip-block-validationÐÑопÑÑÑиÑÑ Ð¿ÑовеÑÐºÑ Ñайлов даннÑÑ . ÐÑ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÑÑÐ¾Ñ ÐºÐ»ÑÑ Ð²Ð¼ÐµÑÑе Ñ
--amcheck, ÑÑÐ¾Ð±Ñ Ð¿ÑоизвеÑÑи ÑолÑко логиÑеÑкÑÑ Ð¿ÑовеÑÐºÑ Ð¸Ð½Ð´ÐµÐºÑов.
Ðа подÑобной инÑоÑмаÑией о паÑамеÑÑÐ°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¾Ð±ÑаÑиÑеÑÑ Ðº подÑазделам ÐбÑие паÑамеÑÑÑ, ÐаÑамеÑÑÑ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ ÐаÑамеÑÑÑ Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¶ÑÑнала.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº подÑÐ°Ð·Ð´ÐµÐ»Ñ ÐÑовеÑка клаÑÑеÑа.
validate
pg_probackup validate -BкаÑалог_копий[--help] [--instance=имÑ_ÑкземплÑÑа] [-iид_ÑезеÑвной_копии] [-jÑиÑло_поÑоков] [--progress] [--wal] [--skip-block-validation] [паÑамеÑÑÑ_ÑоÑки_воÑÑÑановлениÑ] [паÑамеÑÑÑ_жÑÑнала]
ÐÑовеÑÑÐµÑ Ð½Ð°Ð»Ð¸Ñие и ÑелоÑÑноÑÑÑ Ð²ÑеÑ
Ñайлов, необÑ
одимÑÑ
Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа. ÐÑли имÑ_ÑкземплÑÑа не задаÑÑÑÑ, pg_probackup пÑовеÑÑÐµÑ Ð²Ñе ÑезеÑвнÑе копии, имеÑÑиеÑÑ Ð² каÑалоге копий. ÐÑли Ð²Ñ Ð·Ð°Ð´Ð°Ð´Ð¸Ñе имÑ_ÑкземплÑÑа без дополниÑелÑнÑÑ
паÑамеÑÑов, pg_probackup пÑовеÑÐ¸Ñ Ð²Ñе ÑезеÑвнÑе копии, коÑоÑÑе имеÑÑÑÑ Ð´Ð»Ñ ÑÑого ÑкземплÑÑа. ÐÑли задаÑÑ Ð¸Ð¼Ñ_ÑкземплÑÑа Ñ Ñказанием ÑоÑки воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸/или ид_ÑезеÑвной_копии, pg_probackup пÑовеÑиÑ, возможно ли воÑÑÑановиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ñ ÑÑими паÑамеÑÑами. ÐÑли задан паÑамеÑÑ --wal, бÑÐ´ÐµÑ Ð¿Ñоизведена Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¿ÑовеÑка аÑÑ
ива WAL, а не ÑолÑко ÑегменÑов WAL, ÑÑебÑÑÑиÑ
ÑÑ Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº подÑÐ°Ð·Ð´ÐµÐ»Ñ ÐÑовеÑка копии.
merge
pg_probackup merge -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа-iид_ÑезеÑвной_копии[--dry-run] [--help] [-jÑиÑло_поÑоков] [--progress] [--no-validate] [--no-sync] [паÑамеÑÑÑ_жÑÑнала]
ÐбÑединÑÐµÑ ÐºÐ¾Ð¿Ð¸Ð¸, оÑноÑÑÑиеÑÑ Ðº одной ÑепоÑке инкÑеменÑалÑнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹. ÐÑли вÑбÑана Ð¿Ð¾Ð»Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ, она бÑÐ´ÐµÑ Ð¾Ð±Ñединена Ñ Ð¿ÐµÑвой инкÑеменÑалÑной копией поÑле неÑ. ÐÑли вÑбÑана инкÑеменÑалÑÐ½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ, она бÑÐ´ÐµÑ Ð¾Ð±Ñединена Ñ ÑодиÑелÑÑкой полной копией, вклÑÑÐ°Ñ Ð²Ñе инкÑеменÑалÑнÑе копии Ð¼ÐµÐ¶Ð´Ñ Ð½Ð¸Ð¼Ð¸. ÐоÑле вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¿Ð¾Ð»Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ ÑодеÑÐ¶Ð¸Ñ Ð²Ñе обÑединÑннÑе даннÑе, а инкÑеменÑалÑнÑе копии ÑдалÑÑÑÑÑ ÐºÐ°Ðº ненÑжнÑе.
--no-validateÐÑопÑÑÐºÐ°ÐµÑ Ð°Ð²ÑомаÑиÑеÑкÑÑ Ð¿ÑовеÑÐºÑ Ð´Ð¾ и поÑле обÑединениÑ.
--no-syncÐе ÑбÑаÑÑваÑÑ Ð¾Ð±ÑединÑемÑе ÑÐ°Ð¹Ð»Ñ Ð½Ð° диÑк. ÐÑÐ¾Ñ Ñлаг позволÑÐµÑ Ð½ÐµÑколÑко ÑÑкоÑиÑÑ Ð¿ÑоÑеÑÑ Ð¾Ð±ÑединениÑ. ÐÑполÑзование ÑÑого Ñлага Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к повÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑлÑÑае аваÑии опеÑаÑионной ÑиÑÑÐµÐ¼Ñ Ð¸Ð»Ð¸ аппаÑаÑного ÑбоÑ.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº подÑазделам ÐбÑие паÑамеÑÑÑ Ð¸ ÐбÑединение ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.
delete
pg_probackup delete -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа[--help] [-jÑиÑло_поÑоков] [--progress] [--retention-redundancy=избÑÑоÑноÑÑÑ][--retention-window=окно][--wal-depth=глÑбина_wal] [--delete-wal] {-iид_ÑезеÑвной_копии| --delete-expired [--merge-expired] | --merge-expired | --status=ÑоÑÑоÑние} [--dry-run] [--no-validate] [--no-sync] [паÑамеÑÑÑ_жÑÑнала]
УдалÑÐµÑ ÐºÐ¾Ð¿Ð¸Ñ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм иденÑиÑикаÑоÑом (ид_ÑезеÑвной_копии) или запÑÑÐºÐ°ÐµÑ Ð¿ÑоÑедÑÑÑ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑезеÑвнÑÑ
копий или зааÑÑ
ивиÑованнÑÑ
Ñайлов WAL, не ÑдовлеÑвоÑÑÑÑиÑ
ÑекÑÑей полиÑике Ñ
ÑанениÑ.
--no-validateÐÑопÑÑÐºÐ°ÐµÑ Ð°Ð²ÑомаÑиÑеÑкÑÑ Ð¿ÑовеÑÐºÑ Ð´Ð¾ и поÑле обÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¹ в ÑооÑвеÑÑÑвии Ñ Ð¿Ð¾Ð»Ð¸Ñикой Ñ ÑанениÑ.
--no-syncÐе ÑбÑаÑÑваÑÑ Ð¾Ð±ÑединÑемÑе ÑÐ°Ð¹Ð»Ñ Ð½Ð° диÑк. ÐÑÐ¾Ñ Ñлаг позволÑÐµÑ Ð½ÐµÑколÑко ÑÑкоÑиÑÑ Ð¿ÑоÑеÑÑ Ð¾Ð±ÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¹ в ÑооÑвеÑÑÑвии Ñ Ð¿Ð¾Ð»Ð¸Ñикой Ñ ÑанениÑ. ÐÑполÑзование ÑÑого Ñлага Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к повÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑлÑÑае аваÑии опеÑаÑионной ÑиÑÑÐµÐ¼Ñ Ð¸Ð»Ð¸ аппаÑаÑного ÑбоÑ.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº подÑазделам Удаление ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹, ÐаÑамеÑÑÑ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¸ ÐаÑÑÑойка полиÑики Ñ ÑанениÑ.
archive-push
pg_probackup archive-push -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--wal-file-name=имÑ_Ñайла_wal[--wal-file-path=пÑÑÑ_Ñайлов_wal] [--help] [--dry-run] [--no-sync] [--compress] [--no-ready-rename] [--overwrite] [-jÑиÑло_поÑоков] [--batch-size=ÑазмеÑ_поÑÑии] [--archive-timeout=Ñайм-аÑÑ] [--compress-algorithm=алгоÑиÑм_ÑжаÑиÑ] [--compress-level=ÑÑовенÑ_ÑжаÑиÑ] [паÑамеÑÑÑ_ÑдалÑнного_Ñежима] [паÑамеÑÑÑ_жÑÑнала]
ÐопиÑÑÐµÑ ÑÐ°Ð¹Ð»Ñ WAL в ÑооÑвеÑÑÑвÑÑÑий подкаÑалог каÑалога копий, пÑовеÑÑÑ Ñелевой ÑкземплÑÑ Ð¿Ð¾ имени_ÑкземплÑÑа и знаÑÐµÐ½Ð¸Ñ system-identifier. ÐÑли паÑамеÑÑÑ ÑкземплÑÑа ÑезеÑвной копии и клаÑÑеÑа не ÑовпадаÑÑ, опеÑаÑÐ¸Ñ ÐºÐ¾Ð¿Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ вÑполнÑеÑÑÑ, и вÑдаÑÑÑÑ Ð¾Ñибка: Refuse to push WAL segment segment_name into archive. Instance parameters mismatch. (ÐÑказано в помеÑении ÑегменÑа имÑ_ÑегменÑа в аÑÑ
ив. ÐаÑамеÑÑÑ ÑкземплÑÑа не ÑовпадаÑÑ.)
ÐÑли ÑайлÑ, коÑоÑÑе ÑÑебÑеÑÑÑ ÐºÐ¾Ð¿Ð¸ÑоваÑÑ, Ñже имеÑÑÑÑ Ð² каÑалоге копий, pg_probackup вÑÑиÑлÑÐµÑ Ð¸ ÑÑÐ°Ð²Ð½Ð¸Ð²Ð°ÐµÑ Ð¸Ñ
конÑÑолÑнÑе ÑÑммÑ. Ð ÑлÑÑае ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑÑолÑнÑÑ
ÑÑмм archive-push пÑопÑÑÐºÐ°ÐµÑ ÑооÑвеÑÑÑвÑÑÑий Ñайл и вÑдаÑÑ ÐºÐ¾Ð´ ÑÑпеÑного завеÑÑениÑ. ÐÑли же они не ÑовпадаÑÑ, опеÑаÑÐ¸Ñ archive-push завеÑÑаеÑÑÑ Ñ Ð¾Ñибкой. ÐÑли Ð²Ñ Ñ
оÑиÑе заменÑÑÑ ÑÑÑеÑÑвÑÑÑие ÑÐ°Ð¹Ð»Ñ WAL в ÑлÑÑае неÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½ÑÑолÑнÑÑ
ÑÑмм, добавÑÑе к команде archive-push клÑÑ --overwrite.
СодеÑжимое каждого Ñайла копиÑÑеÑÑÑ Ð²Ð¾ вÑеменнÑй Ñайл Ñ ÑаÑÑиÑением .part. ÐÑли Ñакой вÑеменнÑй Ñайл Ñже ÑÑÑеÑÑвÑеÑ, pg_probackup ждÑÑ, ÑÑо он иÑÑÐµÐ·Ð½ÐµÑ Ð² ÑеÑение заданного паÑамеÑÑом archive_timeout вÑемени, а еÑли ÑÑого не пÑоиÑÑ
одиÑ, оÑбÑаÑÑÐ²Ð°ÐµÑ ÐµÐ³Ð¾. ÐоÑле пеÑеноÑа ÑодеÑжимого вÑполнÑеÑÑÑ Ð°ÑомаÑÐ½Ð°Ñ Ð¾Ð¿ÐµÑаÑÐ¸Ñ Ð¿ÐµÑеименованиÑ. Тем ÑамÑм гаÑанÑиÑÑеÑÑÑ, ÑÑо в ÑлÑÑае оÑибки ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ archive-push непÑеÑÑвное аÑÑ
ивиÑование не оÑÑановиÑÑÑ Ð¸ ÑÑо пÑи паÑаллелÑном аÑÑ
ивиÑовании WAL из ÑазнÑÑ
иÑÑоÑников в один аÑÑ
ив повÑеждение аÑÑ
ива иÑклÑÑено.
Postgres Pro запÑаÑÐ¸Ð²Ð°ÐµÑ ÑегменÑÑ WAL по одномÑ. ÐÐ»Ñ ÑÑкоÑÐµÐ½Ð¸Ñ Ð°ÑÑ
ивиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе воÑполÑзоваÑÑÑÑ Ð¿Ð°ÑамеÑÑом --batch-size, опÑеделÑÑÑим ÑÐ°Ð·Ð¼ÐµÑ Ð¿Ð¾ÑÑии из неÑколÑкиÑ
копиÑÑемÑÑ
ÑегменÑов WAL. ÐмеÑÑе Ñ Ð¿Ð°ÑамеÑÑом --batch-size Ñакже можно пÑимениÑÑ Ñказание -j, ÑÑÐ¾Ð±Ñ Ð¿Ð¾ÑÑии копиÑовалиÑÑ Ð² неÑколÑко поÑоков.
СегменÑÑ WAL, копиÑÑемÑе в аÑÑ
ив, по ÑмолÑÐ°Ð½Ð¸Ñ (без ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñлага --no-sync) гаÑанÑиÑованно ÑбÑаÑÑваÑÑÑÑ Ð½Ð° диÑк.
ÐÐ¾Ð¼Ð°Ð½Ð´Ñ archive-push можно иÑполÑзоваÑÑ Ð² знаÑении паÑамеÑÑа archive_command Postgres Pro пÑи наÑÑÑойке непÑеÑÑвного аÑÑ
ивиÑÐ¾Ð²Ð°Ð½Ð¸Ñ WAL.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº подÑазделам ÐбÑие паÑамеÑÑÑ, ÐаÑамеÑÑÑ Ð°ÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÐаÑамеÑÑÑ ÑжаÑиÑ.
archive-get
pg_probackup archive-get -BкаÑалог_копий--instance=имÑ_ÑкземплÑÑа--wal-file-path=пÑÑÑ_Ñайлов_wal--wal-file-name=имÑ_Ñайла_wal[-jÑиÑло_поÑоков] [--batch-size=ÑазмеÑ_поÑÑии] [--prefetch-dir=каÑалог_пÑедвÑбоÑки] [--no-validate-wal] [--dry-run] [--help] [паÑамеÑÑÑ_ÑдалÑнного_Ñежима] [паÑамеÑÑÑ_жÑÑнала]
ÐопиÑÑÐµÑ ÑÐ°Ð¹Ð»Ñ WAL из ÑооÑвеÑÑÑвÑÑÑего подкаÑалога каÑалога ÑезеÑвнÑÑ
копий в каÑалог жÑÑнала пÑедзапиÑи клаÑÑеÑа. ÐÑа команда авÑомаÑиÑеÑки ÑÑÑанавливаеÑÑÑ Ð¿ÑогÑаммой pg_probackup в знаÑении паÑамеÑÑа restore_command пÑи воÑÑÑановлении аÑÑ
ивнÑÑ
копий Ñ Ð¿Ñименением аÑÑ
ива WAL. УÑÑанавливаÑÑ ÐµÑ Ð²ÑÑÑнÑÑ Ð½Ðµ нÑжно.
Postgres Pro запÑаÑÐ¸Ð²Ð°ÐµÑ ÑегменÑÑ WAL по одномÑ. ÐÐ»Ñ ÑÑкоÑÐµÐ½Ð¸Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе воÑполÑзоваÑÑÑÑ Ð¿Ð°ÑамеÑÑом --batch-size, опÑеделÑÑÑим ÑÐ°Ð·Ð¼ÐµÑ Ð¿Ð¾ÑÑии из неÑколÑкиÑ
копиÑÑемÑÑ
ÑегменÑов WAL. ÐмеÑÑе Ñ Ð¿Ð°ÑамеÑÑом --batch-size Ñакже можно пÑимениÑÑ Ñказание -j, ÑÑÐ¾Ð±Ñ Ð¿Ð¾ÑÑии ÑегменÑов копиÑовалиÑÑ Ð² неÑколÑко поÑоков.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº подÑазделам ÐбÑие паÑамеÑÑÑ, ÐаÑамеÑÑÑ Ð°ÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ ÐаÑамеÑÑÑ ÑжаÑиÑ.
catchup
pg_probackup catchup -bÑежим_ÑÐ¸Ð½Ñ ÑонизаÑии--source-pgdata=пÑÑÑ_к_копиÑÑемомÑ_каÑалогÑ_даннÑÑ--destination-pgdata=пÑÑÑ_к_ÑелевомÑ_каÑалогÑ_даннÑÑ[--help] [-j | --threads=ÑиÑло_поÑоков] [--dry-run] [--write-rate-limit=ÑкоÑоÑÑÑ_запиÑи] [--stream[--temp-slot[=true|false|on|off]] [-P | --perm-slot] [-S | --slot=имÑ_ÑлоÑа] [--exclude-path=ÐУТЬ] [-TСТÐРЫÐ_ÐÐТÐÐÐÐ=ÐÐÐЫÐ_ÐÐТÐÐÐÐ] [-X | --waldir=каÑалог_wal] [паÑамеÑÑÑ_подклÑÑениÑ] [паÑамеÑÑÑ_ÑдалÑнного_Ñежима] [паÑамеÑÑÑ_жÑÑнала]
СоздаÑÑ ÐºÐ¾Ð¿Ð¸Ñ ÑкземплÑÑа Postgres Pro, не иÑполÑзÑÑ ÐºÐ°Ñалог ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.
-bÑежим_ÑÐ¸Ð½Ñ ÑонизаÑии--backup-mode=Ñежим_ÑÐ¸Ð½Ñ ÑонизаÑииÐÑбиÑÐ°ÐµÑ Ñежим ÑÐ¸Ð½Ñ ÑонизаÑии. ÐоддеÑживаÑÑÑÑ ÑледÑÑÑие ÑежимÑ:
FULL,DELTAиPTRACK.--source-pgdata=пÑÑÑ_к_копиÑÑемомÑ_каÑалогÑ_даннÑÑÐадаÑÑ Ð¿ÑÑÑ Ðº каÑÐ°Ð»Ð¾Ð³Ñ Ð´Ð°Ð½Ð½ÑÑ ÐºÐ¾Ð¿Ð¸ÑÑемого ÑкземплÑÑа. ÐаÑалог Ð¼Ð¾Ð¶ÐµÑ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ ÐºÐ°Ðº локалÑно, Ñак и ÑдалÑнно.
--destination-pgdata=пÑÑÑ_к_ÑелевомÑ_каÑалогÑ_даннÑÑÐадаÑÑ Ð¿ÑÑÑ Ðº локалÑÐ½Ð¾Ð¼Ñ ÑÐµÐ»ÐµÐ²Ð¾Ð¼Ñ ÐºÐ°ÑÐ°Ð»Ð¾Ð³Ñ Ð´Ð°Ð½Ð½ÑÑ .
-jÑиÑло_поÑоков--threads=ÑиÑло_поÑоковÐадаÑÑ ÑиÑло паÑаллелÑнÑÑ Ð¿Ð¾Ñоков Ð´Ð»Ñ Ð¿ÑоÑеÑÑа
catchup.--streamÐопиÑÑÐµÑ ÑкземплÑÑ Ð² Ñежиме доÑÑавки STREAM, пÑи коÑоÑом вÑе Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе ÑÐ°Ð¹Ð»Ñ WAL пеÑедаÑÑÑÑ Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑеÑвеÑа по пÑоÑÐ¾ÐºÐ¾Ð»Ñ ÑепликаÑии. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÐºÐ»ÑÑÑн длÑ
catchup.--write-rate-limit=ÑкоÑоÑÑÑ_запиÑиÐадаÑÑ ÑкоÑоÑÑÑ Ð·Ð°Ð¿Ð¸Ñи даннÑÑ Ð½Ð° диÑк (в мегабайÑÐ°Ñ /гигабайÑÐ°Ñ Ð² ÑекÑндÑ). Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑказÑваеÑÑÑ Ð² мегабайÑÐ°Ñ Ð² ÑекÑндÑ. ÐапÑимеÑ:
--write-rate-limit=1GBpsили--write-rate-limit=100(мегабайÑÑ Ð² ÑекÑндÑ). ÐнаÑение по ÑмолÑаниÑ: 0 (без огÑаниÑений).ÐÑли паÑамеÑÑ Ñказан, по завеÑÑении командÑ
catchupвÑводиÑÑÑ ÑледÑÑÑÐ°Ñ Ð¸Ð½ÑоÑмаÑиÑ:writtenâ обÑÑм запиÑаннÑÑ Ð´Ð°Ð½Ð½ÑÑ , в ÐÐ.total timeâ вÑÐµÐ¼Ñ Ð¼ÐµÐ¶Ð´Ñ Ð¿ÐµÑвой и поÑледней запиÑÑÑ (в ÑекÑÐ½Ð´Ð°Ñ ). ÐбÑаÑиÑе внимание, ÑÑо ÑÑо не обÑее вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñcatchup.sleep timeâ вÑÐµÐ¼Ñ Ð¿ÑинÑдиÑелÑной задеÑжки, в ÑекÑÐ½Ð´Ð°Ñ .average rateâ ÑакÑиÑеÑÐºÐ°Ñ ÑÑеднÑÑ ÑкоÑоÑÑÑ Ð·Ð°Ð¿Ð¸Ñи, в мегабайÑÐ°Ñ Ð² ÑекÑндÑ.
ÐапÑимеÑ:
INFO: Rate limit: written 14975.445 MB, total time 17.163 s, sleep time 2.370 s, average rate 872.560715 MBps
-x=пÑеÑикÑ_пÑÑи--exclude-path=пÑеÑикÑ_пÑÑиÐпÑеделÑÐµÑ Ð¿ÑеÑÐ¸ÐºÑ Ð´Ð»Ñ Ñайлов, коÑоÑÑе не бÑдÑÑ ÐºÐ¾Ð¿Ð¸ÑоваÑÑÑÑ Ð¿Ñи ÑÐ¸Ð½Ñ ÑонизаÑии ÑкземплÑÑов Postgres Pro. Такой пÑеÑÐ¸ÐºÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑодеÑжаÑÑ Ð¿ÑÑÑ Ð¾ÑноÑиÑелÑно каÑалога даннÑÑ ÑкземплÑÑа. ÐÑли в пÑеÑикÑе Ñказан каÑалог, ни один Ñайл в ÑÑом каÑалоге не бÑÐ´ÐµÑ ÐºÐ¾Ð¿Ð¸Ñован.
ÐÑедÑпÑеждение
ÐÑполÑзÑйÑе ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ñ Ð¾ÑÑоÑожноÑÑÑÑ, поÑколÑÐºÑ Ð¸ÑклÑÑение Ñайлов Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к неполной ÑÐ¸Ð½Ñ ÑонизаÑии.
--temp-slot[=true|false|on|off]СоздаÑÑ Ð²ÑеменнÑй ÑÐ»Ð¾Ñ ÑизиÑеÑкой ÑепликаÑии Ð´Ð»Ñ Ð¿ÐµÑедаÑи WAL Ñ ÐºÐ¾Ð¿Ð¸ÑÑемого ÑкземплÑÑа Postgres Pro. ÐаÑамеÑÑ
--temp-slotвклÑÑÑн по ÑмолÑаниÑ. ÐÑо гаÑанÑиÑÑеÑ, ÑÑо вÑе нÑжнÑе ÑегменÑÑ WAL бÑдÑÑ Ð´Ð¾ÑÑÑпнÑ, еÑли в пÑоÑеÑÑе копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоизойдÑÑ Ð¿ÐµÑеклÑÑение ÑегменÑов WAL. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ ÑолÑко вмеÑÑе Ñ Ð¿Ð°ÑамеÑÑом--streamи нелÑÐ·Ñ Ð¸ÑполÑзоваÑÑ Ñ Ð¿Ð°ÑамеÑÑом--perm-slot. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð¼Ñ Ð²Ñеменного ÑлоÑа âpg_probackup_slot. ЧÑÐ¾Ð±Ñ ÐµÐ³Ð¾ поменÑÑÑ, воÑполÑзÑйÑеÑÑ Ð¿Ð°ÑамеÑÑом--slot/-Sи Ñвно ÑкажиÑе--temp-slotили--temp-slot=.true|on-P--perm-slotСоздаÑÑ Ð¿Ð¾ÑÑоÑннÑй ÑÐ»Ð¾Ñ ÑизиÑеÑкой ÑепликаÑии Ð´Ð»Ñ Ð¿ÐµÑедаÑи WAL Ñ ÐºÐ¾Ð¿Ð¸ÑÑемого ÑкземплÑÑа Postgres Pro. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ ÑолÑко вмеÑÑе Ñ Ð¿Ð°ÑамеÑÑом
--streamи нелÑÐ·Ñ Ð¸ÑполÑзоваÑÑ Ñ Ð¿Ð°ÑамеÑÑом--temp-slot. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸Ð¼Ñ Ð¿Ð¾ÑÑоÑнного ÑлоÑа âpg_probackup_perm_slot, но его можно поменÑÑÑ, воÑполÑзовавÑиÑÑ Ð¿Ð°ÑамеÑÑом--slot/-S.-SимÑ_ÑлоÑа--slot=имÑ_ÑлоÑаÐадаÑÑ ÑÐ»Ð¾Ñ ÑепликаÑии, к коÑоÑÐ¾Ð¼Ñ Ð±ÑÐ´ÐµÑ Ð²Ñполнено подклÑÑение Ð´Ð»Ñ Ð¿ÐµÑедаÑи WAL. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑказаÑÑ ÑолÑко вмеÑÑе Ñ Ð¿Ð°ÑамеÑÑом
--stream.-TСТÐРЫÐ_ÐÐТÐÐÐÐ=ÐÐÐЫÐ_ÐÐТÐÐÐÐ--tablespace-mapping=СТÐРЫÐ_ÐÐТÐÐÐÐ=ÐÐÐЫÐ_ÐÐТÐÐÐÐÐеÑемеÑÐ°ÐµÑ ÑаблиÑное пÑоÑÑÑанÑÑво из каÑалога
СТÐРЫÐ_ÐÐТÐÐÐÐвÐÐÐЫÐ_ÐÐТÐÐÐÐво вÑÐµÐ¼Ñ Ð²Ð¾ÑÑÑановлениÑ. ÐСТÐРЫÐ_ÐÐТÐÐÐÐ, иÐÐÐЫÐ_ÐÐТÐÐÐÐÐ´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ Ð°Ð±ÑолÑÑнÑми пÑÑÑми. ÐÑли пÑÑÑ ÑодеÑÐ¶Ð¸Ñ Ð·Ð½Ð°Ðº Ñавно (=), ÑкÑаниÑÑйÑе ÑÑÐ¾Ñ Ð·Ð½Ð°Ðº обÑаÑной коÑой ÑеÑÑой. ÐаннÑй паÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ ÑказÑваÑÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно Ð´Ð»Ñ Ð¿ÐµÑемеÑÐµÐ½Ð¸Ñ Ð½ÐµÑколÑÐºÐ¸Ñ ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв.-XкаÑалог_wal--waldir=каÑалог_walÐадаÑÑ ÐºÐ°Ñалог, в коÑоÑÑй бÑдÑÑ Ð·Ð°Ð¿Ð¸ÑÐ°Ð½Ñ ÑÐ°Ð¹Ð»Ñ WAL. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÐ°Ð¹Ð»Ñ WAL бÑдÑÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð² подкаÑалог
pg_walÑелевого каÑалога, но Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑого паÑамеÑÑа Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ помеÑÑиÑÑ Ð² лÑбое меÑÑо. ÐÑÑÑкаÑалог_walдолжен бÑÑÑ Ð°Ð±ÑолÑÑнÑм; ÑÑÐ¾Ñ Ð¿ÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ ÑÑÑеÑÑвоваÑÑ, но еÑли он ÑÑÑеÑÑвÑеÑ, он должен бÑÑÑ Ð¿ÑÑÑÑм, ÑÑÐ¾Ð±Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°catchupмогла вÑполнÑÑÑÑÑ Ñ Ð¿Ð°ÑамеÑÑом--catchup-mode=FULL.
Ðа подÑобной инÑоÑмаÑией о паÑамеÑÑÐ°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¾Ð±ÑаÑиÑеÑÑ Ðº подÑазделам ÐбÑие паÑамеÑÑÑ, ÐаÑамеÑÑÑ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¸ ÐаÑамеÑÑÑ ÑдалÑнного Ñежима.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº подÑÐ°Ð·Ð´ÐµÐ»Ñ ÐлониÑование и ÑÐ¸Ð½Ñ ÑонизаÑÐ¸Ñ ÑкземплÑÑа Postgres Pro.
ÐаÑамеÑÑÑ
Ð ÑÑом подÑазделе опиÑÑваÑÑÑÑ Ð¿Ð°ÑамеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´ pg_probackup. ÐÑли какое-либо знаÑение паÑамеÑÑа Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÑÑено из пеÑеменной окÑÑжениÑ, Ð¸Ð¼Ñ ÑÑой пеÑеменной ÑказÑваеÑÑÑ Ð² веÑÑ
нем ÑегиÑÑÑе ниже паÑамеÑÑа командной ÑÑÑоки. ÐекоÑоÑÑе знаÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ñ Ð¸Ð· Ñайла конÑигÑÑаÑии pg_probackup.conf, наÑ
одÑÑегоÑÑ Ð² каÑалоге копий.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑÐ°Ð·Ð´ÐµÐ»Ñ Â«ÐаÑÑÑойка pg_probackup».
ÐÑли некоÑоÑÑй паÑамеÑÑ Ð·Ð°Ð´Ð°ÑÑÑÑ Ð½ÐµÑколÑкими ÑпоÑобами, знаÑение в командной ÑÑÑоке Ð¸Ð¼ÐµÐµÑ Ð½Ð°Ð¸Ð²ÑÑÑий пÑиоÑиÑеÑ, а знаÑение в pg_probackup.conf â наименÑÑий.
ÐбÑие паÑамеÑÑÑ
Ðиже пÑиведÑн ÑпиÑок паÑамеÑÑов обÑего Ñ Ð°ÑакÑеÑа.
--dry-runÐÑполнÑÐµÑ Ð¿ÑобнÑй запÑÑк нÑжной командÑ, коÑоÑÑй не вноÑÐ¸Ñ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ ÑеалÑнÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹: не ÑоздаÑÑÑÑ, не ÑдалÑÑÑÑÑ Ð¸ не пеÑемеÑаÑÑÑÑ ÑÐ°Ð¹Ð»Ñ Ð½Ð° диÑке. ÐÑÐ¾Ñ Ñлаг Ñакже позволÑÐµÑ Ð¿ÑовеÑиÑÑ Ð¿ÑавилÑноÑÑÑ Ð²ÑÐµÑ Ð¿Ð°ÑамеÑÑов ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¸ ÐµÑ Ð³Ð¾ÑовноÑÑÑ Ðº запÑÑкÑ. С
--dry-runпÑопÑÑкаеÑÑÑ Ð¿Ð¾ÑÐ¾ÐºÐ¾Ð²Ð°Ñ ÑÑанÑлÑÑÐ¸Ñ WAL.-BкаÑалог--backup-path=каÑалогBACKUP_PATHÐадаÑÑ Ð°Ð±ÑолÑÑнÑй пÑÑÑ Ðº каÑÐ°Ð»Ð¾Ð³Ñ ÐºÐ¾Ð¿Ð¸Ð¹. ÐаÑалог копий â ÑÑо каÑалог, в коÑоÑом Ñ ÑанÑÑÑÑ Ð²Ñе ÑÐ°Ð¹Ð»Ñ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ и меÑаинÑоÑмаÑиÑ. ÐоÑколÑÐºÑ ÑÑо ÑаÑположение Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ задаваÑÑ Ð¿Ð¾ÑÑи Ð´Ð»Ñ Ð²ÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´ pg_probackup, Ð¸Ð¼ÐµÐµÑ ÑмÑÑл ÑказаÑÑ ÐµÐ³Ð¾ один Ñаз в пеÑеменной окÑÑжениÑ
BACKUP_PATH. Ð ÑÑом ÑлÑÑае каждÑй Ñаз ÑказÑваÑÑ ÑÑÐ¾Ñ Ð¿ÑÑÑ Ð² командной ÑÑÑоке не нÑжно.-DкаÑалог--pgdata=каÑалогPGDATAÐадаÑÑ Ð°Ð±ÑолÑÑнÑй пÑÑÑ Ðº каÑÐ°Ð»Ð¾Ð³Ñ Ð´Ð°Ð½Ð½ÑÑ ÐºÐ»Ð°ÑÑеÑа. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑвлÑеÑÑÑ Ð¾Ð±ÑзаÑелÑнÑм ÑолÑко Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ add-instance. ÐÑÑгие ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¼Ð¾Ð³ÑÑ Ð¿Ð¾Ð»ÑÑаÑÑ ÑÑÐ¾Ñ Ð¿ÑÑÑ Ð¸Ð· пеÑеменной окÑÑжениÑ
PGDATAили из Ñайла конÑигÑÑаÑииpg_probackup.conf.-iид_ÑезеÑвной_копии--backup-id=ид_ÑезеÑвной_копииÐадаÑÑ ÑникалÑнÑй иденÑиÑикаÑÐ¾Ñ ÑезеÑвной копии.
-jÑиÑло_поÑоков--threads=ÑиÑло_поÑоковÐадаÑÑ ÑиÑло паÑаллелÑнÑÑ Ð¿Ð¾Ñоков, запÑÑкаемÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸
backup,restore,merge,validate,checkdbиarchive-push.--progressÐклÑÑÐ°ÐµÑ Ð²Ñвод пÑогÑеÑÑа вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑаÑий.
--helpÐÑÐ²Ð¾Ð´Ð¸Ñ Ð¿Ð¾Ð´ÑобнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¿Ð¾ паÑамеÑÑам, коÑоÑÑе пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ ÑÑа команда.
ÐаÑамеÑÑÑ ÑоÑки воÑÑÑановлениÑ
ÐÑли наÑÑÑоено непÑеÑÑвное аÑÑ Ð¸Ð²Ð¸Ñование WAL, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе пеÑедаÑÑ Ð¾Ð´Ð¸Ð½ из ÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ restore или validate, ÑÑÐ¾Ð±Ñ ÑказаÑÑ Ð¼Ð¾Ð¼ÐµÐ½Ñ, до коÑоÑого должен бÑÑÑ Ð²Ð¾ÑÑÑановлен или пÑовеÑен клаÑÑÐµÑ Ð±Ð°Ð· даннÑÑ .
--recovery-target=immediate|latestÐпÑеделÑеÑ, когда оÑÑановиÑÑ Ð²Ð¾ÑÑÑановление:
Со знаÑением
immediateвоÑÑÑановление завеÑÑаеÑÑÑ ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле доÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ ÑоглаÑованного ÑоÑÑоÑÐ½Ð¸Ñ Ð²ÑбÑанной копии, либо поÑледней копии из имеÑÑÐ¸Ñ ÑÑ, еÑли паÑамеÑÑ-i/--backup-idопÑÑен. Такое поведение по ÑмолÑÐ°Ð½Ð¸Ñ Ð¿ÑименÑеÑÑÑ Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ð¹ Ñипа STREAM.Со знаÑением
latestвоÑÑÑановление пÑодолжаеÑÑÑ Ð´Ð¾ ÑÐµÑ Ð¿Ð¾Ñ, пока не бÑдÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ñ Ð²Ñе имеÑÑиеÑÑ Ð² аÑÑ Ð¸Ð²Ðµ ÑегменÑÑ WAL. ÐÑи Ñказании ÑÑого знаÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа--recovery-targetÑакое же знаÑение задаÑÑÑÑ Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа--recovery-target-timeline.
--recovery-target-timeline=линиÑ_вÑемениÐÑбиÑÐ°ÐµÑ Ð»Ð¸Ð½Ð¸Ñ Ð²Ñемени Ð´Ð»Ñ Ð²Ð¾ÑÑÑановлениÑ:
currentâ Ð»Ð¸Ð½Ð¸Ñ Ð²Ñемени Ñказанной ÑезеÑвной копии. ÐÑо знаÑение по ÑмолÑаниÑ.
latestâ Ð»Ð¸Ð½Ð¸Ñ Ð²Ñемени поÑледней доÑÑÑпной ÑезеÑвной копии.ЧиÑловое знаÑение.
--recovery-target-lsn=lsnУказÑÐ²Ð°ÐµÑ Ð¿Ð¾ÑледоваÑелÑнÑй Ð½Ð¾Ð¼ÐµÑ Ð² жÑÑнале пÑедзапиÑи, до коÑоÑого бÑÐ´ÐµÑ Ð¿ÑоизводиÑÑÑÑ Ð²Ð¾ÑÑÑановление.
--recovery-target-name=имÑ_Ñели_воÑÑÑановлениÑУказÑÐ²Ð°ÐµÑ Ð¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ð½Ð½ÑÑ ÑоÑÐºÑ ÑÐ¾Ñ ÑанениÑ, вплоÑÑ Ð´Ð¾ коÑоÑой бÑÐ´ÐµÑ Ð²Ð¾ÑÑÑановлен клаÑÑеÑ.
--recovery-target-time=вÑемÑУказÑÐ²Ð°ÐµÑ ÑоÑÐºÑ Ð²Ñемени, вплоÑÑ Ð´Ð¾ коÑоÑой бÑÐ´ÐµÑ Ð¿ÑоизводиÑÑÑÑ Ð²Ð¾ÑÑÑановление. ÐÑли ÑаÑовой поÑÑ Ð½Ðµ ÑказÑваеÑÑÑ, подÑазÑмеваеÑÑÑ Ð¼ÐµÑÑное вÑемÑ.
ÐапÑимеÑ:
--recovery-target-time="2027-04-09 18:21:32+00"--recovery-target-xid=ид_ÑÑанзакÑииУказÑÐ²Ð°ÐµÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ ÑÑанзакÑии, вплоÑÑ Ð´Ð¾ коÑоÑой бÑÐ´ÐµÑ Ð¿ÑоизводиÑÑÑÑ Ð²Ð¾ÑÑÑановление.
--recovery-target-inclusive=booleanУказÑÐ²Ð°ÐµÑ Ð½Ð° Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑÑ Ð¾ÑÑановки ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле (
true) либо до (false) доÑÑÐ¸Ð¶ÐµÐ½Ð¸Ñ Ñелевой ÑоÑки. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ ÑолÑко вмеÑÑе Ñ Ð¿Ð°ÑамеÑÑом--recovery-target-time,--recovery-target-lsnили--recovery-target-xid. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð¿ÑеделÑеÑÑÑ Ð¿Ð°ÑамеÑÑом recovery_target_inclusive.--recovery-target-action=pause|promote|shutdownÐадаÑÑ Ð´ÐµÐ¹ÑÑвие (recovery_target_action), коÑоÑое должен вÑполниÑÑ ÑеÑÐ²ÐµÑ Ð¿Ð¾ доÑÑижении Ñели воÑÑÑановлениÑ.
Ðо ÑмолÑаниÑ:
pause
ÐаÑамеÑÑÑ ÑÐ¾Ñ ÑанениÑ
ÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ backup и delete.
ÐодÑобнее о полиÑике Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑаÑÑказÑваеÑÑÑ Ð² подÑазделе ÐаÑÑÑойка полиÑики Ñ ÑанениÑ.
--retention-redundancy=избÑÑоÑноÑÑÑУказÑваеÑ, ÑколÑко полнÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ должно ÑÐ¾Ñ ÑанÑÑÑÑÑ Ð² каÑалоге даннÑÑ . Ðолжно бÑÑÑ Ð½ÐµÐ¾ÑÑиÑаÑелÑнÑм ÑелÑм ÑиÑлом. ÐÐ¾Ð»Ñ Ð¾ÑклÑÑÐ°ÐµÑ ÑÐ¾Ñ Ñанение.
Ðо ÑмолÑаниÑ:
0--retention-window=окноÐолиÑеÑÑво дней, в ÑеÑение коÑоÑого возможно воÑÑÑановление. Ðолжно бÑÑÑ Ð½ÐµÐ¾ÑÑиÑаÑелÑнÑм ÑелÑм ÑиÑлом. ÐÑи нÑлевом знаÑении окно воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑÑÑÑÑÑвÑеÑ.
Ðо ÑмолÑаниÑ:
0--wal-depth=глÑбина_walÐолиÑеÑÑво ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ на каждой линии вÑемени, коÑоÑое должно ÑÐ¾Ñ ÑанÑÑÑÑÑ Ð´Ð»Ñ Ð¾Ð±ÐµÑпеÑÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ PITR. Ðолжно бÑÑÑ Ð½ÐµÐ¾ÑÑиÑаÑелÑнÑм ÑелÑм ÑиÑлом. ÐÑи нÑлевом знаÑении ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾ÑклÑÑаеÑÑÑ.
Ðо ÑмолÑаниÑ:
0--delete-walУдалÑÐµÑ ÑÐ°Ð¹Ð»Ñ WAL, коÑоÑÑе не ÑвлÑÑÑÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñми Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑеÑа из имеÑÑÐ¸Ñ ÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.
--delete-expiredУдалÑÐµÑ ÑезеÑвнÑе копии, не ÑдовлеÑвоÑÑÑÑие полиÑике ÑÐ¾Ñ ÑанениÑ, опÑеделÑнной в Ñайле конÑигÑÑаÑии
pg_probackup.conf.--merge-expiredÐбÑединÑÐµÑ ÑамÑÑ ÑÑаÑÑÑ Ð¸Ð½ÐºÑеменÑалÑнÑÑ ÐºÐ¾Ð¿Ð¸Ñ, ÑдовлеÑвоÑÑÑÑÑÑ ÑÑебованиÑм полиÑики Ñ ÑанениÑ, Ñ ÐµÑ ÑодиÑелÑÑкими копиÑми, ÑÑок Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾ÑоÑÑÑ Ð¸ÑÑÑк.
--dry-runÐÑÐ²Ð¾Ð´Ð¸Ñ ÑекÑÑее ÑоÑÑоÑние вÑÐµÑ Ð¸Ð¼ÐµÑÑÐ¸Ñ ÑÑ ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹, но никакие опеÑаÑии, напÑимеÑ, Ñдаление или обÑединение ÑÑаÑÑÑ ÐºÐ¾Ð¿Ð¸Ð¹, пÑи ÑÑом не пÑоизводÑÑÑÑ.
ÐаÑамеÑÑÑ Ð·Ð°ÐºÑеплениÑ
ÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ backup и set-backup.
Ðа подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº подÑÐ°Ð·Ð´ÐµÐ»Ñ ÐакÑепление ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹.
--ttl=вÑемÑ_жизниÐадаÑÑ Ð²ÑемÑ, на коÑоÑое закÑеплÑеÑÑÑ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ. ÐнаÑение должно бÑÑÑ Ð½ÐµÐ¾ÑÑиÑаÑелÑнÑм ÑелÑм. ÐÑлевое знаÑение оÑменÑÐµÑ ÑÑÑановленное Ñанее закÑепление ÑезеÑвной копии. ÐоддеÑживаÑÑÑÑ ÑледÑÑÑие единиÑÑ Ð¸Ð·Ð¼ÐµÑениÑ: ms (миллиÑекÑндÑ), s (ÑекÑндÑ), min (минÑÑÑ), h (ÑаÑÑ), d (дни). Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¿Ð¾Ð´ÑазÑмеваÑÑÑÑ ÑекÑндÑ.
ÐапÑимеÑ:
--ttl=30d--expire-time=вÑемÑÐпÑеделÑÐµÑ Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени, до коÑоÑого бÑÐ´ÐµÑ Ñ ÑаниÑÑÑÑ ÑезеÑÐ²Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ. ÐÑÐµÐ¼Ñ Ð´Ð¾Ð»Ð¶Ð½Ð¾ задаваÑÑÑÑ Ð² ÑоÑмаÑе ISO-8601. ÐÑли ÑаÑовой поÑÑ Ð½Ðµ ÑказÑваеÑÑÑ, подÑазÑмеваеÑÑÑ Ð¼ÐµÑÑное вÑемÑ.
ÐапÑимеÑ:
--expire-time="2027-04-09 18:21:32+00"
ÐаÑамеÑÑÑ Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¶ÑÑнала
ÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ñ Ð»Ñбой командой.
--no-colorÐÑклÑÑÐ°ÐµÑ ÑвеÑовое вÑделение ÑообÑений ÑÑовней
warningиerrorв конÑоли.--log-level-console=ÑÑовенÑ_ÑообÑенийУпÑавлÑÐµÑ ÑÑовнем ÑообÑений, коÑоÑÑе бÑдÑÑ Ð²ÑводиÑÑÑÑ Ð² жÑÑнал конÑоли. ÐопÑÑÑимÑе ÑÑовни:
verbose,log,info,warning,errorиoff. ÐаждÑй ÑÑÐ¾Ð²ÐµÐ½Ñ Ð²ÐºÐ»ÑÑÐ°ÐµÑ Ð²Ñе поÑледÑÑÑие, и Ñ ÐºÐ°Ð¶Ð´Ñм поÑледÑÑÑим ÑÑовнем обÑÑм ÑообÑений ÑменÑÑаеÑÑÑ. ÐаÑианÑoffоÑклÑÑÐ°ÐµÑ Ð²Ñвод в жÑÑнал конÑоли.Ðо ÑмолÑаниÑ:
infoÐÑимеÑание
ÐÑе вÑводимÑе в конÑÐ¾Ð»Ñ ÑообÑÐµÐ½Ð¸Ñ Ð¶ÑÑнала пеÑедаÑÑÑÑ ÑеÑез stderr, ÑÑÐ¾Ð±Ñ Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло оÑделиÑÑ Ð¾Ñ Ð²Ñвода команд show и show-config.
--log-level-file=ÑÑовенÑ_ÑообÑенийУпÑавлÑÐµÑ ÑÑовнем ÑообÑений, коÑоÑÑе бÑдÑÑ Ð²ÑводиÑÑÑÑ Ð² Ñайл жÑÑнала. ÐопÑÑÑимÑе ÑÑовни:
verbose,log,info,warning,errorиoff. ÐаждÑй ÑÑÐ¾Ð²ÐµÐ½Ñ Ð²ÐºÐ»ÑÑÐ°ÐµÑ Ð²Ñе поÑледÑÑÑие, и Ñ ÐºÐ°Ð¶Ð´Ñм поÑледÑÑÑим ÑÑовнем обÑÑм ÑообÑений ÑменÑÑаеÑÑÑ. ÐаÑианÑoffоÑклÑÑÐ°ÐµÑ Ð²Ñвод в Ñайл жÑÑнала.Ðо ÑмолÑаниÑ:
off--log-filename=Ñайл_жÑÑналаÐпÑеделÑÐµÑ Ð¸Ð¼ÐµÐ½Ð° Ð´Ð»Ñ ÑоздаваемÑÑ Ñайлов жÑÑналов. Ðмена Ñайлов обÑабаÑÑваÑÑÑÑ Ð¿Ð¾ ÑаблонÑ
strftime, Ñак ÑÑо Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÑпеÑÐºÐ¾Ð´Ñ Ñ % Ð´Ð»Ñ Ð²ÑбоÑа имÑн Ñайлов, завиÑÑÑÐ¸Ñ Ð¾Ñ Ð²Ñемени.Ðо ÑмолÑаниÑ:
pg_probackup.logÐапÑимеÑ, еÑли задаÑÑ Ñаблон
pg_probackup-%u.log, pg_probackup бÑÐ´ÐµÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑ Ð¶ÑÑнал в оÑделÑнÑе ÑÐ°Ð¹Ð»Ñ Ð¿Ð¾ днÑм недели, и ÑимволÑ%uв имени бÑдÑÑ Ð·Ð°Ð¼ÐµÐ½ÑÑÑÑÑ ÑооÑвеÑÑÑвÑÑÑим деÑÑÑиÑнÑм номеÑом:pg_probackup-1.logв понеделÑник,pg_probackup-2.logво вÑоÑник и Ñ. д.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð´ÐµÐ¹ÑÑвÑеÑ, еÑли вклÑÑена запиÑÑ Ð² жÑÑнал (паÑамеÑÑом
--log-level-file).--error-log-filename=Ñайл_жÑÑнала_ÑобÑÑийÐпÑеделÑÐµÑ Ð¸Ð¼ÐµÐ½Ð° ÑолÑко Ð´Ð»Ñ Ñайлов жÑÑналов оÑибок. Ðмена Ñайлов обÑабаÑÑваÑÑÑÑ Ð¿Ð¾ ÑаблонÑ
strftime, Ñак ÑÑо Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ ÑпеÑÐºÐ¾Ð´Ñ Ñ % Ð´Ð»Ñ Ð²ÑбоÑа имÑн Ñайлов, завиÑÑÑÐ¸Ñ Ð¾Ñ Ð²Ñемени.Ðо ÑмолÑаниÑ: none
ÐапÑимеÑ, еÑли задаÑÑ Ñаблон
error-pg_probackup-%u.log, pg_probackup бÑÐ´ÐµÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑ Ð¶ÑÑнал в оÑделÑнÑе ÑÐ°Ð¹Ð»Ñ Ð¿Ð¾ днÑм недели, и ÑимволÑ%uв имени бÑдÑÑ Ð·Ð°Ð¼ÐµÐ½ÑÑÑÑÑ ÑооÑвеÑÑÑвÑÑÑим деÑÑÑиÑнÑм номеÑом:error-pg_probackup-1.logв понеделÑник,error-pg_probackup-2.logво вÑоÑник и Ñ. д.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ Ð´Ð»Ñ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑики и ÑеÑÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑÑÐ¸Ñ Ð¿Ñоблем.
--log-directory=каÑалог_жÑÑналаÐпÑеделÑÐµÑ ÐºÐ°Ñалог, в коÑоÑом бÑдÑÑ ÑоздаваÑÑÑÑ ÑÐ°Ð¹Ð»Ñ Ð¶ÑÑналов. ÐÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð·Ð°Ð´Ð°ÑÑ Ð² ÑÑом паÑамеÑÑе абÑолÑÑнÑй пÑÑÑ. ÐÑÐ¾Ñ ÐºÐ°Ñалог ÑоздаÑÑÑÑ ÑолÑко пÑи Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи, когда в жÑÑнал вÑводиÑÑÑ Ð¿ÐµÑвое ÑообÑение.
Ðо ÑмолÑаниÑ:
$BACKUP_PATH/log/--log-format-console=ÑоÑмаÑ_жÑÑналаÐпÑеделÑÐµÑ ÑоÑÐ¼Ð°Ñ Ð¶ÑÑнала конÑоли. УÑÑанавливаеÑÑÑ ÑолÑко из командной ÑÑÑоки. ÐбÑаÑиÑе внимание, ÑÑо ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½ÐµÐ»ÑÐ·Ñ ÑказаÑÑ Ð² Ñайле конÑигÑÑаÑии
pg_probackup.confпоÑÑедÑÑвом ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ set-config и ÑÑо команда backup Ñакже воÑпÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ñказание ÑÑого паÑамеÑÑа в конÑигÑÑаÑионном Ñайле как оÑибкÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ ÑледÑÑÑие знаÑениÑ:ÐÑли
plain, Ñо жÑÑнал вÑводиÑÑÑ Ð½Ð° конÑÐ¾Ð»Ñ Ð² ÑоÑмаÑе обÑÑного ÑекÑÑа.ÐÑли
json, Ñо жÑÑнал вÑводиÑÑÑ Ð½Ð° конÑÐ¾Ð»Ñ Ð² ÑоÑмаÑе JSON.
Ðо ÑмолÑаниÑ:
plain--log-format-file=ÑоÑмаÑ_жÑÑналаÐпÑеделÑÐµÑ Ð¸ÑполÑзÑемÑй ÑоÑÐ¼Ð°Ñ Ñайлов жÑÑнала. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð¼ÐµÑÑ ÑледÑÑÑие знаÑениÑ:
ÐÑли
plain, Ñо ÑÐ°Ð¹Ð»Ñ Ð¶ÑÑнала запиÑÑваÑÑÑÑ Ð² ÑоÑмаÑе обÑÑного ÑекÑÑа.ÐÑли
json, Ñо ÑÐ°Ð¹Ð»Ñ Ð¶ÑÑнала запиÑÑваÑÑÑÑ Ð² ÑоÑмаÑе JSON.
Ðо ÑмолÑаниÑ:
plain--log-rotation-size=ÑазмеÑ_жÑÑнала_длÑ_ÑоÑаÑииÐакÑималÑнÑй ÑÐ°Ð·Ð¼ÐµÑ Ð¾ÑделÑного Ñайла жÑÑнала. ÐÑли ÑÑо знаÑение доÑÑигаеÑÑÑ, Ñайл жÑÑнала пÑокÑÑÑиваеÑÑÑ Ð¿Ñи вÑполнении какой-либо ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ pg_probackup, за иÑклÑÑением
helpиversion. ÐÑлевое знаÑение оÑклÑÑÐ°ÐµÑ Ð¿ÑокÑÑÑÐºÑ Ð² завиÑимоÑÑи Ð¾Ñ ÑазмеÑа. ÐоддеÑживаÑÑÑÑ ÑледÑÑÑие единиÑÑ: kB (по ÑмолÑаниÑ), MB, GB, TB.Ðо ÑмолÑаниÑ:
0--log-rotation-age=возÑаÑÑ_жÑÑнала_длÑ_ÑоÑаÑииÐакÑималÑное вÑÐµÐ¼Ñ Ð¶Ð¸Ð·Ð½Ð¸ оÑделÑного Ñайла жÑÑнала. ÐÑли ÑÑо знаÑение доÑÑигаеÑÑÑ, Ñайл жÑÑнала пÑокÑÑÑиваеÑÑÑ Ð¿Ñи вÑполнении какой-либо ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ pg_probackup, за иÑклÑÑением
helpиversion. ÐÑÐµÐ¼Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ñледнего Ñайла жÑÑнала ÑÐ¾Ñ ÑанÑеÑÑÑ Ð²$BACKUP_PATH/log/log_rotation. ÐÑлевое знаÑение оÑклÑÑÐ°ÐµÑ Ð¿ÑокÑÑÑÐºÑ Ð¿Ð¾ вÑемени. ÐоддеÑживаемÑе единиÑÑ: ms (миллиÑекÑндÑ), s (ÑекÑндÑ), min (минÑÑÑ, по ÑмолÑаниÑ), h (ÑаÑÑ), d (дни).Ðо ÑмолÑаниÑ:
0
ÐаÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ
ÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ backup, catchup и checkdb.
pg_probackup поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð²Ñе пеÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ libpq.
-dимÑ_бд--pgdatabase=имÑ_бдPGDATABASEÐадаÑÑ Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ. ÐÑо подклÑÑение иÑполÑзÑеÑÑÑ ÑолÑко Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿ÑоÑеÑÑом ÑезеÑвного копиÑованиÑ, Ñак ÑÑо Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе подклÑÑиÑÑÑÑ Ðº лÑбой ÑÑÑеÑÑвÑÑÑей базе. ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ðµ задаÑÑÑÑ Ð² командной ÑÑÑоке, пеÑеменной окÑÑжениÑ
PGDATABASEили в конÑигÑÑаÑионном Ñайлеpg_probackup.conf, pg_probackup пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð² каÑеÑÑве имени Ð±Ð°Ð·Ñ Ð·Ð½Ð°Ñение пеÑеменной окÑÑжениÑPGUSERили Ð¸Ð¼Ñ ÑекÑÑего полÑзоваÑелÑ, еÑли пеÑеменнаÑPGUSERне задана.-hÑеÑвеÑ--pghost=ÑеÑвеÑPGHOSTУказÑÐ²Ð°ÐµÑ Ð¸Ð¼Ñ ÑиÑÑемÑ, в коÑоÑой ÑабоÑÐ°ÐµÑ ÑеÑвеÑ. ÐÑли знаÑение наÑинаеÑÑÑ Ñ ÐºÐ¾Ñой ÑеÑÑÑ, оно опÑеделÑÐµÑ ÐºÐ°Ñалог Unix-ÑокеÑа.
Ðо ÑмолÑаниÑ:
localhost-pпоÑÑ--pgport=поÑÑPGPORTУказÑÐ²Ð°ÐµÑ TCP-поÑÑ Ð¸Ð»Ð¸ ÑаÑÑиÑение Ñайла локалÑного Unix-ÑокеÑа, ÑеÑез коÑоÑÑй ÑеÑÐ²ÐµÑ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ.
Ðо ÑмолÑаниÑ:
5432-UимÑ_полÑзоваÑелÑ--pguser=имÑ_полÑзоваÑелÑPGUSERÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ.
-w--no-passwordÐе вÑдаваÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð½Ð° ввод паÑолÑ. ÐÑли ÑеÑÐ²ÐµÑ ÑÑебÑÐµÑ Ð°ÑÑенÑиÑикаÑÐ¸Ñ Ð¿Ð¾ паÑÐ¾Ð»Ñ Ð¸ паÑÐ¾Ð»Ñ Ð½Ðµ доÑÑÑпен Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð´ÑÑÐ³Ð¸Ñ ÑÑедÑÑв, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº Ñайл .pgpass или пеÑÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¾ÐºÑÑжениÑ
PGPASSWORD, попÑÑка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ ÑдаÑÑÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ в пакеÑнÑÑ Ð·Ð°Ð´Ð°Ð½Ð¸ÑÑ Ð¸ ÑкÑипÑÐ°Ñ , где Ð½ÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, коÑоÑÑй Ð²Ð²Ð¾Ð´Ð¸Ñ Ð¿Ð°ÑолÑ.-W--passwordÐапÑаÑиваÑÑ Ð¿Ð°ÑолÑ. (УÑÑаÑевÑий паÑамеÑÑ.)
ÐаÑамеÑÑÑ ÑжаÑиÑ
ÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ backup и archive-push.
--compress-algorithm=алгоÑиÑм_ÑжаÑиÑÐпÑеделÑÐµÑ Ð°Ð»Ð³Ð¾ÑиÑм, коÑоÑÑй бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ ÑжаÑÐ¸Ñ Ñайлов даннÑÑ . ÐозможнÑе знаÑениÑ:
zlib,lz4,zstd,pglzиnone. ÐÑбое знаÑение, оÑлиÑное оÑnone, вклÑÑÐ°ÐµÑ ÑжаÑие. ÐÑи ÑÑом ÑжимаÑÑÑÑ Ð¸ ÑÐ°Ð¹Ð»Ñ Ð´Ð°Ð½Ð½ÑÑ , и ÑÐ°Ð¹Ð»Ñ WAL. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑжаÑие оÑклÑÑено. ÐÐ»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ archive-push алгоÑиÑм ÑжаÑиÑpglzне поддеÑживаеÑÑÑ.ÐÑимеÑание
ÐÑогÑамма pg_probackup поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð°Ð»Ð³Ð¾ÑиÑÐ¼Ñ ÑжаÑиÑ, вклÑÑÑннÑе в конкÑеÑнÑÑ Ð²ÐµÑÑÐ¸Ñ Postgres Pro. Ð ÑаÑÑноÑÑи:
lz4 поддеÑживаеÑÑÑ Ð´Ð»Ñ Postgres Pro веÑÑии 14 и вÑÑе.
zstd поддеÑживаеÑÑÑ Ð´Ð»Ñ Postgres Pro веÑÑии 15 и вÑÑе.
Ðо ÑмолÑаниÑ:
none--compress-level=ÑÑовенÑ_ÑжаÑиÑÐпÑеделÑÐµÑ ÑÑÐ¾Ð²ÐµÐ½Ñ ÑжаÑиÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ Ð²Ð¼ÐµÑÑе Ñ Ð¿Ð°ÑамеÑÑом
--compress-algorithm. ÐозможнÑе знаÑÐµÐ½Ð¸Ñ Ð·Ð°Ð²Ð¸ÑÑÑ Ð¾Ñ Ñказанного алгоÑиÑма ÑжаÑиÑ:0 â 9 длÑ
zlib1 длÑ
pglz0 â 12 длÑ
lz40 â 22 длÑ
zstd
ÐÑи знаÑении 0 ÑÑÑанавливаеÑÑÑ ÑÑÐ¾Ð²ÐµÐ½Ñ ÑжаÑÐ¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð´Ð»Ñ Ñказанного алгоÑиÑма:
6 длÑ
zlib1 длÑ
pglz9 длÑ
lz43 длÑ
zstd
ÐÑимеÑание
ÐлгоÑиÑм ÑжаÑÐ¸Ñ lz4 Ð¸Ð¼ÐµÐµÑ ÑолÑко один ÑÑÐ¾Ð²ÐµÐ½Ñ â 1. Так ÑÑо, еÑли Ñказан алгоÑиÑм ÑжаÑиÑ
lz4, а ÑÑÐ¾Ð²ÐµÐ½Ñ ÑжаÑÐ¸Ñ Ð²--compress-levelÑÑÑановлен вÑÑе 1, ÑакÑиÑеÑки иÑполÑзÑеÑÑÑ Ð°Ð»Ð³Ð¾ÑиÑм lz4hc, коÑоÑÑй ÑабоÑÐ°ÐµÑ Ð·Ð½Ð°ÑиÑелÑно медленнее, но обеÑпеÑÐ¸Ð²Ð°ÐµÑ Ð»ÑÑÑее ÑжаÑие.Ðо ÑмолÑаниÑ:
1--compressÐадаÑÑ Ð°Ð»Ð³Ð¾ÑиÑм ÑжаÑÐ¸Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ ÑÑÑанавливаеÑ
--compress-level=1. ÐлгоÑиÑм по ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑбиÑаеÑÑÑ ÑÑеди поддеÑживаемÑÑ Postgres Pro в ÑооÑвеÑÑÑвии Ñ Ð¿ÑиоÑиÑеÑами:zstd(ÑамÑй вÑÑокий) ->lz4->zlib->pglz. ÐаÑамеÑÑ--compressпеÑеопÑеделÑÐµÑ Ð¿Ð°ÑамеÑÑÑ--compression-algorithmи--compress-levelи не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзован одновÑеменно Ñ Ð½Ð¸Ð¼Ð¸.
ÐаÑамеÑÑÑ Ð°ÑÑ Ð¸Ð²Ð°Ñии
ÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ archive-push в знаÑении паÑамеÑÑа archive_command и Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ archive-get в знаÑении restore_command.
ÐополниÑелÑно Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе задаÑÑ Ð¿Ð°ÑамеÑÑÑ ÑдалÑнного ÑеÑвеÑа и Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¶ÑÑнала.
--wal-file-path=пÑÑÑ_Ñайлов_walÐадаÑÑ Ð¿ÑÑÑ Ñайла WAL в
archive_commandиrestore_command. РкаÑеÑÑве знаÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ паÑамеÑÑа ÑкажиÑе%pили Ñвно задайÑе пÑÑÑ Ðº ÑÐ°Ð¹Ð»Ñ Ð²Ð½Ðµ каÑалога даннÑÑ . ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ðµ задан, иÑполÑзÑеÑÑÑ Ð¿ÑÑÑ, заданнÑй в Ñайлеpg_probackup.conf.--wal-file-name=имÑ_Ñайла_walÐадаÑÑ Ð¸Ð¼Ñ Ñайла WAL в
archive_commandиrestore_command. РкаÑеÑÑве знаÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ паÑамеÑÑа ÑкажиÑе%fÐ´Ð»Ñ Ð¿ÑавилÑной его обÑабоÑки. ÐÑли знаÑением паÑамеÑÑа--wal-file-pathÑвлÑеÑÑÑ Ð¿ÑÑÑ Ð²Ð½Ðµ каÑалога даннÑÑ , ÑледÑÐµÑ Ñвно ÑказÑваÑÑ Ð¸Ð¼Ñ Ñайла.--overwriteРазÑеÑÐ°ÐµÑ Ð¿ÐµÑезапиÑÑ Ñайлов WAL в аÑÑ Ð¸Ð²Ðµ. ÐÑÐ¾Ñ ÐºÐ»ÑÑ Ð´ÐµÐ¹ÑÑвÑÐµÑ Ð¿Ñи вÑполнении ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ archive-push, когда ÑказаннÑй подкаÑалог каÑалога ÑезеÑвнÑÑ ÐºÐ¾Ð¿Ð¸Ð¹ Ñже ÑодеÑÐ¶Ð¸Ñ Ð´Ð°Ð½Ð½Ñй Ñайл WAL, и его нÑжно замениÑÑ Ð½Ð¾Ð²Ð¾Ð¹ копией. Ðез ÑÑого клÑÑа
archive-pushÑообÑиÑ, ÑÑо ÑÐµÐ³Ð¼ÐµÐ½Ñ WAL Ñже ÑÑÑеÑÑвÑеÑ, и пÑеÑвÑÑ Ð¾Ð¿ÐµÑаÑиÑ. ÐÑли заменÑемÑй Ñайл не изменилÑÑ,archive-pushпÑопÑÑÐºÐ°ÐµÑ ÐµÐ³Ð¾, незавиÑимо Ð¾Ñ ÑказаниÑ--overwrite.--batch-size=ÑазмеÑ_поÑÑииÐÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÑÑкоÑÐµÐ½Ð¸Ñ Ð¿ÑоÑеÑÑа аÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñи вÑполнении
archive-pushили пÑоÑеÑÑа воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñи вÑполненииarchive-get. ÐадаÑÑ Ð¼Ð°ÐºÑималÑное колиÑеÑÑво Ñайлов WAL, коÑоÑое Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑкопиÑовано в аÑÑ Ð¸Ð² одним пÑоÑеÑÑомarchive-pushили из аÑÑ Ð¸Ð²Ð° одним пÑоÑеÑÑомarchive-get.--archive-timeout=вÑемÑ_ожиданиÑÐадаÑÑ Ð¸Ð½ÑеÑвал, по иÑÑеÑении коÑоÑого ÑÑÑеÑÑвÑÑÑие ÑайлÑ
.partбÑдÑÑ ÑÑиÑаÑÑÑÑ Ð¿Ð¾ÑеÑÑннÑми. Ðо ÑмолÑÐ°Ð½Ð¸Ñ pg_probackup ждÑÑ Ð¸ÑÑÐµÐ·Ð½Ð¾Ð²ÐµÐ½Ð¸Ñ ÑÑÐ¸Ñ Ñайлов 300 ÑекÑнд. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ ÑолÑко Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ archive-push.--no-ready-renameÐÑедоÑвÑаÑÐ°ÐµÑ Ð¿ÐµÑеименование Ñайлов ÑоÑÑоÑÐ½Ð¸Ñ Ð² каÑалоге
archive_status. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½, ÑолÑко когда вarchive_commandзадано неÑколÑко команд, и пÑименÑÑÑ ÐµÐ³Ð¾ можно ÑолÑко Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ archive-push.--no-syncÐе ÑбÑаÑÑваÑÑ ÐºÐ¾Ð¿Ð¸ÑÑемÑе ÑÐ°Ð¹Ð»Ñ WAL на диÑк. ÐÑÐ¾Ñ Ñлаг позволÑÐµÑ Ð½ÐµÑколÑко ÑÑкоÑиÑÑ Ð¿ÑоÑеÑÑ Ð°ÑÑ Ð¸Ð²Ð°Ñии. ÐÑполÑзование ÑÑого Ñлага Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к повÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ Ð°ÑÑ Ð¸Ð²Ð° WAL в ÑлÑÑае аваÑии опеÑаÑионной ÑиÑÑÐµÐ¼Ñ Ð¸Ð»Ð¸ аппаÑаÑного ÑбоÑ. ÐаннÑй паÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑказаÑÑ ÑолÑко Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ archive-push.
--prefetch-dir=пÑÑÑÐаÑалог, в коÑоÑом бÑдÑÑ Ñ ÑаниÑÑÑÑ Ð¿ÑедзагÑÑжаемÑе ÑегменÑÑ WAL пÑи иÑполÑзовании паÑамеÑÑа
--batch-size. ÐÑÐ¾Ñ ÐºÐ°Ñалог должен Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ Ð² Ñой же Ñайловой ÑиÑÑеме и ниже Ñой же ÑоÑки монÑиÑованиÑ, ÑÑо иPGDATA/pg_wal. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑи ÑегменÑÑ ÑазмеÑаÑÑÑÑ Ð² каÑалогеPGDATA/pg_wal/pbk_prefetch. ÐаннÑй паÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑименÑÑÑÑÑ ÑолÑко Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ archive-get.--no-validate-walÐÑклÑÑÐ°ÐµÑ Ð¿ÑовеÑÐºÑ Ð¿ÑедзагÑÑженнÑÑ Ñайлов WAL пеÑед иÑполÑзованием. ÐÑименÑйÑе ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ, еÑли Ð²Ñ Ñ Ð¾ÑиÑе ÑвелиÑиÑÑ ÑкоÑоÑÑÑ Ð²Ð¾ÑÑÑановлениÑ. ÐаннÑй паÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑименÑÑÑÑÑ ÑолÑко Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ archive-get.
ÐаÑамеÑÑÑ ÑдалÑнного Ñежима
Ð ÑÑом подÑазделе опиÑÑваÑÑÑÑ Ð¿Ð°ÑамеÑÑÑ, ÑвÑзаннÑе Ñ ÑдалÑннÑм вÑполнением опеÑаÑий pg_probackup по SSH. ÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð¼Ð¸ add-instance, set-config, backup, catchup, restore, archive-push и archive-get.
ÐодÑобнее о наÑÑÑойке и иÑполÑзовании ÑдалÑнного Ñежима ÑаÑÑказÑваеÑÑÑ Ð² ÐодÑазделе «ÐаÑÑÑойка ÑдалÑнного Ñежима» и ÐодÑазделе «ÐÑполÑзование pg_probackup в ÑдалÑнном Ñежиме».
--remote-proto=пÑоÑоколÐадаÑÑ Ð¿ÑоÑокол Ð´Ð»Ñ ÑдалÑнного вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑаÑий. РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаеÑÑÑ ÑолÑко пÑоÑокол SSH. ÐозможнÑе знаÑениÑ:
sshâ вклÑÑÐ°ÐµÑ ÑдалÑннÑй Ñежим Ñ Ð¸ÑполÑзованием SSH. ÐÑÐ¾Ñ Ð²Ð°ÑÐ¸Ð°Ð½Ñ Ð¸ÑполÑзÑеÑÑÑ Ð¿Ð¾ ÑмолÑаниÑ.noneâ ÑвнÑм обÑазом оÑклÑÑÐ°ÐµÑ ÑдалÑннÑй Ñежим.
ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ не задаваÑÑ, еÑли ÑказÑваеÑÑÑ
--remote-host.--remote-host=Ñелевой_адÑеÑÐадаÑÑ Ð¸Ð¼Ñ Ð¸Ð»Ð¸ IP-адÑÐµÑ Ñелевого ÑдалÑнного ÑеÑвеÑа.
--remote-port=поÑÑÐадаÑÑ Ñелевой поÑÑ Ð½Ð° ÑдалÑнном ÑеÑвеÑе.
Ðо ÑмолÑаниÑ:
22--remote-user=имÑ_полÑзоваÑелÑÐадаÑÑ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð½Ð° ÑдалÑнном ÑеÑвеÑе Ð´Ð»Ñ SSH-ÑоединениÑ. РоÑÑÑÑÑÑвие ÑÑого паÑамеÑÑа иÑполÑзÑеÑÑÑ Ð¸Ð¼Ñ ÑекÑÑего полÑзоваÑелÑ, ÑÑÑанавливаÑÑего SSH-ÑоединениÑ.
--remote-path=пÑÑÑÐадаÑÑ ÐºÐ°Ñалог, в коÑоÑом pg_probackup ÑÑÑановлен на ÑдалÑнной ÑиÑÑеме.
--ssh-options=паÑамеÑÑÑ_sshÐадаÑÑ ÑÑÑÐ¾ÐºÑ Ð¿Ð°ÑамеÑÑов командной ÑÑÑоки Ð´Ð»Ñ SSH. ÐапÑимеÑ, ÑледÑÑÑим обÑазом можно ÑÑÑановиÑÑ ÑвойÑÑва
keep-aliveÐ´Ð»Ñ SSH-подклÑÑений, коÑоÑÑе бÑÐ´ÐµÑ Ð¾ÑкÑÑваÑÑ pg_probackup:--ssh-options="-o ServerAliveCountMax=5 -o ServerAliveInterval=60". ÐолнÑй ÑпиÑок вÑÐµÑ Ð¿Ð°ÑамеÑÑов можно найÑи в ÑÑководÑÑве по ssh_config.
ÐаÑамеÑÑÑ ÑдалÑнного аÑÑ Ð¸Ð²Ð° WAL
Ð ÑÑом подÑазделе опиÑÑваÑÑÑÑ Ð¿Ð°ÑамеÑÑÑ, позволÑÑÑие задаÑÑ Ð°ÑгÑменÑÑ archive-get Ð´Ð»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑдалÑнного Ñежима в команде restore_command пÑи воÑÑÑановлении PITR или воÑÑÑановлении копий Ñипа ARCHIVE.
--archive-host=Ñелевой_адÑеÑÐадаÑÑ Ð·Ð½Ð°Ñение аÑгÑменÑа
--remote-hostÐ´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñarchive-get.--archive-port=поÑÑÐадаÑÑ Ð·Ð½Ð°Ñение аÑгÑменÑа
--remote-portÐ´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñarchive-get.Ðо ÑмолÑаниÑ:
22--archive-user=имÑ_полÑзоваÑелÑÐадаÑÑ Ð·Ð½Ð°Ñение аÑгÑменÑа
--remote-userÐ´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñarchive-get. РоÑÑÑÑÑÑвие ÑÑого ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ, запÑÑкаÑÑего клаÑÑÐµÑ Postgres Pro.Ðо ÑмолÑаниÑ: полÑзоваÑÐµÐ»Ñ Postgres Pro
ÐаÑамеÑÑÑ Ð¸Ð½ÐºÑеменÑалÑного воÑÑÑановлениÑ
Ð ÑÑом подÑазделе опиÑÑваÑÑÑÑ Ð¿Ð°ÑамеÑÑÑ, ÑвÑзаннÑе Ñ Ð¸Ð½ÐºÑеменÑалÑнÑм воÑÑÑановлением клаÑÑеÑа. ÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¿ÐµÑедаваÑÑÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ restore.
-IинкÑеменÑалÑнÑй_Ñежим--incremental-mode=инкÑеменÑалÑнÑй_ÑежимÐÑбиÑÐ°ÐµÑ Ð¸Ð½ÐºÑеменÑалÑнÑй Ñежим. ÐоддеÑживаÑÑÑÑ ÑледÑÑÑие ÑежимÑ:
CHECKSUMâ заменÑÑÑ ÑолÑко ÑÑÑаниÑÑ Ñ Ð½ÐµÐ¿Ð¾Ð´Ñ Ð¾Ð´ÑÑей конÑÑолÑной ÑÑммой и LSN.LSNâ заменÑÑÑ ÑолÑко Ñе ÑÑÑаниÑÑ, LSN коÑоÑÑÑ Ð±Ð¾Ð»ÑÑе ÑоÑки ÑаÑÑ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ.NONEâ обÑÑное воÑÑÑановление.
ÐаÑамеÑÑÑ ÑаÑÑиÑного воÑÑÑановлениÑ
Ð ÑÑом подÑазделе опиÑÑваÑÑÑÑ Ð¿Ð°ÑамеÑÑÑ, ÑвÑзаннÑе Ñ ÑаÑÑиÑнÑм воÑÑÑановлением клаÑÑеÑа. ÐÑи паÑамеÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð¿ÐµÑедаваÑÑÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ restore.
--db-exclude=имÑ_бдÐадаÑÑ Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , коÑоÑÐ°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° бÑÑÑ Ð¸ÑклÑÑена из ÑиÑла воÑÑÑанавливаемÑÑ . ÐÑе оÑÑалÑнÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² клаÑÑеÑе бÑдÑÑ Ð²Ð¾ÑÑÑанавливаÑÑÑÑ, вклÑÑаÑ
template0иtemplate1. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ Ð½ÐµÑколÑко Ñаз, Ñаким обÑазом иÑклÑÑив неÑколÑко баз даннÑÑ .--db-include=имÑ_бдÐадаÑÑ Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , коÑоÑÐ°Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° воÑÑÑанавливаÑÑÑÑ. ÐÑе оÑÑалÑнÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð²Ð¾ÑÑÑанавливаÑÑÑÑ Ð½Ðµ бÑдÑÑ, за иÑклÑÑением
template0иtemplate1. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ Ð½ÐµÑколÑко Ñаз, Ñаким обÑазом вÑбÑав Ð´Ð»Ñ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½ÐµÑколÑко баз даннÑÑ .
ÐаÑамеÑÑÑ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ оÑладки
Ð ÑÑом подÑазделе опиÑÑваÑÑÑÑ Ð¿Ð°ÑамеÑÑÑ, полезнÑе лиÑÑ Ð¿Ñи ÑеÑÑиÑовании или ÑазÑабоÑке.
PGPROBACKUP_TESTS_SKIP_HIDDENУказÑÐ²Ð°ÐµÑ pg_probackup игноÑиÑоваÑÑ ÐºÐ¾Ð¿Ð¸Ð¸, помеÑеннÑе как ÑкÑÑÑÑе. ÐамеÑÑÑе, ÑÑо Ñама ÑÑилиÑа pg_probackup никогда не помеÑÐ°ÐµÑ ÐºÐ¾Ð¿Ð¸Ð¸ как ÑкÑÑÑÑе. ÐобиÑÑÑÑ Ñакого ÑоÑÑоÑÐ½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ð¸ можно, ÑолÑко вÑÑÑнÑÑ Ð¾ÑÑедакÑиÑовав Ñайл
backup.control. ÐадаÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑолÑко в пеÑеменнÑÑ Ð¾ÐºÑÑжениÑ.--destroy-all-other-dbsÐо ÑмолÑÐ°Ð½Ð¸Ñ pg_probackup завеÑÑÐ°ÐµÑ ÑабоÑÑ Ð¾Ñибкой пÑи попÑÑке вÑполниÑÑ ÑаÑÑиÑное инкÑеменÑалÑное воÑÑÑановление, поÑколÑÐºÑ Ð¿Ñи ÑÑом ÑдалÑÑÑÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , не вклÑÑÑннÑе в ÑпиÑок воÑÑÑановлениÑ. ÐÑÐ¾Ñ Ñлаг позволÑÐµÑ Ð¸Ð³Ð½Ð¾ÑиÑоваÑÑ Ð¾ÑÐ¸Ð±ÐºÑ Ð¸ пÑодолжаÑÑ ÑаÑÑиÑное инкÑеменÑалÑное воÑÑÑановление (напÑимеÑ, ÑÑÐ¾Ð±Ñ Ñнимок ÑеÑÑовой ÐÐ Ð½Ð°Ñ Ð¾Ð´Ð¸Ð»ÑÑ Ð² Ñом же ÑоÑÑоÑнии, ÑÑо и Ñнимок пÑоизводÑÑвенной ÐÐ). ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ иÑполÑзоваÑÑ Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹ restore.
Ðажно
Ðикогда не иÑполÑзÑйÑе ÑÑÐ¾Ñ Ñлаг в пÑоизводÑÑвенном клаÑÑеÑе.
PGPROBACKUP_TESTS_SKIP_EMPTY_COMMITУказÑÐ²Ð°ÐµÑ pg_probackup пÑопÑÑкаÑÑ Ð¿ÑÑÑÑе ÑÑанзакÑии поÑле pg_backup_stop.
ÐеÑÑиониÑование
ÐÑи ÑазÑабоÑке pg_probackup иÑполÑзÑеÑÑÑ ÑеманÑиÑеÑкое веÑÑиониÑование.
ÐвÑоÑÑ
Postgres Professional, ÐоÑква, РоÑÑиÑ.
ÐлагодаÑноÑÑи
ÐÑогÑамма pg_probackup оÑнована на pg_arman, коÑоÑÐ°Ñ Ð¸Ð·Ð½Ð°ÑалÑно бÑла напиÑана в NTT, а заÑем ÐµÑ Ñазвивал и поддеÑживал ÐикаÑÐ»Ñ ÐакÑе.