pg_resetwal
pg_resetwal â оÑиÑÑка жÑÑнала пÑедзапиÑи и дÑÑгой ÑпÑавлÑÑÑей инÑоÑмаÑии клаÑÑеÑа Postgres Pro
СинÑакÑиÑ
pg_resetwal [ -f | --force ] [ -n | --dry-run ] [паÑамеÑÑ...] [ -D | --pgdata ]каÑалог_даннÑÑ
ÐпиÑание #
pg_resetwal оÑиÑÐ°ÐµÑ Ð¶ÑÑнал пÑедзапиÑи (WAL) и Ð¼Ð¾Ð¶ÐµÑ ÑбÑоÑиÑÑ Ð½ÐµÐºÐ¾ÑоÑÑÑ Ð´ÑÑгÑÑ ÑпÑавлÑÑÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ, Ñ
ÑанÑÑÑÑÑÑ Ð² Ñайле pg_control. ÐÐ°Ð½Ð½Ð°Ñ ÑÑнкÑÐ¸Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð²Ð¾ÑÑÑебована пÑи повÑеждении ÑÑиÑ
Ñайлов. ÐÑполÑзоваÑÑ ÐµÑ Ð½Ñжно ÑолÑко как кÑайнÑÑ Ð¼ÐµÑÑ, когда запÑÑк ÑеÑвеÑа оказÑваеÑÑÑ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶ÐµÐ½ из-за ÑÑого повÑеждениÑ.
ÐекоÑоÑÑе паÑамеÑÑÑ, Ñакие как --wal-segsize (Ñм. ниже), могÑÑ Ñакже иÑполÑзоваÑÑÑÑ Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ
глобалÑнÑÑ
паÑамеÑÑов клаÑÑеÑа баз даннÑÑ
без необÑ
одимоÑÑи повÑоÑного запÑÑка initdb. ÐÑо можно ÑделаÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°Ñно в ÑабоÑаÑÑем клаÑÑеÑе баз даннÑÑ
, еÑли не иÑполÑзÑÑÑÑÑ Ð¾Ð¿Ð°ÑнÑе ÑежимÑ, ÑпомÑнÑÑÑе ниже.
ÐÑли pg_resetwal иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÐºÐ°Ñалога даннÑÑ
, где ÑеÑÐ²ÐµÑ Ð±Ñл оÑÑановлен в ÑÑаÑном Ñежиме и ÑпÑавлÑÑÑий Ñайл в поÑÑдке, Ñо ÑÑо не повлиÑÐµÑ Ð½Ð° ÑодеÑжимое ÑиÑÑÐµÐ¼Ñ Ð±Ð°Ð· даннÑÑ
, за иÑклÑÑением Ñого, ÑÑо неиÑполÑзÑемÑе ÑÐ°Ð¹Ð»Ñ WAL бÑдÑÑ ÑдаленÑ. ÐÑбое дÑÑгое иÑполÑзование Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾ÑенÑиалÑно опаÑнÑм и должно оÑÑÑеÑÑвлÑÑÑÑÑ Ñ Ð±Ð¾Ð»ÑÑой оÑÑоÑожноÑÑÑÑ. ÐÐ»Ñ ÐºÐ°Ñалога поÑле аваÑийного оÑклÑÑÐµÐ½Ð¸Ñ ÑеÑвеÑа или повÑÐµÐ¶Ð´ÐµÐ½Ð¸Ñ ÑпÑавлÑÑÑего Ñайла pg_resetwal поÑÑебÑÐµÑ ÑказаÑÑ Ð¿Ð°ÑамеÑÑ -f (пÑинÑдиÑелÑное вÑполнение).
ÐоÑле вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑой ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð² каÑалоге даннÑÑ
Ñ Ð¿Ð¾Ð²ÑеждÑннÑми Ñайлами WAL или ÑпÑавлÑÑÑим Ñайлом, запÑÑк ÑеÑвеÑа, ÑкоÑее вÑего, бÑÐ´ÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶ÐµÐ½, однако ÑÑÐ¾Ð¸Ñ ÑÑиÑÑваÑÑ, ÑÑо база даннÑÑ
Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ Ð½ÐµÑоглаÑованнÑе даннÑе из-за ÑÑанзакÑий, заÑикÑиÑованнÑÑ
ÑаÑÑиÑно. ÐеобÑ
одимо немедленно вÑгÑÑзиÑÑ Ð´Ð°Ð½Ð½Ñе, вÑполниÑÑ initdb, а заÑем воÑÑÑановиÑÑ Ð´Ð°Ð½Ð½Ñе. ÐоÑле ÑÑого пÑовеÑÑÑе ÑелоÑÑноÑÑÑ Ð±Ð°Ð·Ñ Ð¸ внеÑиÑе необÑ
одимÑе коÑÑекÑивÑ.
ÐÑли pg_resetwal ÑообÑÐ°ÐµÑ Ð¾ невозможноÑÑи опÑеделиÑÑ Ð´Ð°Ð½Ð½Ñе из pg_control, ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð¼Ð¾Ð¶Ð½Ð¾ запÑÑÑиÑÑ Ð¿ÑинÑдиÑелÑно, Ñказав -f. Ð ÑÑом ÑлÑÑае бÑдÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ñ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ веÑоÑÑнÑе знаÑениÑ. Ðни Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿Ð¾Ð´Ñ
одиÑÑ Ð´Ð»Ñ Ð±Ð¾Ð»ÑÑинÑÑва полей, но Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ
Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑÑебоваÑÑÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð½ÑжнÑе знаÑÐµÐ½Ð¸Ñ Ñвно: ÑледÑÑÑее знаÑение OID, ID и ÑпоÑ
а ÑледÑÑÑей ÑÑанзакÑии, ID мÑлÑÑиÑÑанзакÑии и ÑмеÑение, наÑалÑÐ½Ð°Ñ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ WAL. ÐÑи знаÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ ÑказаÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¾Ð¿Ð¸ÑаннÑÑ
далее паÑамеÑÑов. ÐÑли иÑ
невозможно опÑеделиÑÑ, Ñо Ñлаг f позволÑÐµÑ ÑÑо обойÑи. Ðднако доÑÑовеÑноÑÑÑ Ð´Ð°Ð½Ð½ÑÑ
воÑÑÑановленной Ð±Ð°Ð·Ñ Ð½Ðµ гаÑанÑиÑÑеÑÑÑ: кÑайне необÑ
одимо незамедлиÑелÑно вÑгÑÑзиÑÑ Ð¸ заÑем воÑÑÑановиÑÑ Ð´Ð°Ð½Ð½Ñе. Ðе вÑполнÑйÑе никакиÑ
опеÑаÑий модиÑикаÑии до ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð´Ð°Ð¼Ð¿Ð° даннÑÑ
, Ñак как ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑивеÑÑи к еÑÑ Ð±Ð¾Ð»ÐµÐµ пеÑалÑнÑм поÑледÑÑвиÑм.
ÐÑÑ ÑÑилиÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð¿ÑÑкаÑÑ ÑолÑко полÑзоваÑелÑ, ÑÑÑановивÑий ÑеÑвеÑ, Ñак как ей нÑÐ¶Ð½Ñ Ð¿Ñава запиÑи/ÑÑÐµÐ½Ð¸Ñ Ð² каÑалоге Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ ÐºÐ»Ð°ÑÑеÑа.
ÐаÑамеÑÑÑ
каÑалог_даннÑÑ-DкаÑалог_даннÑÑ--pgdata=каÑалог_даннÑÑУказÑÐ²Ð°ÐµÑ ÑаÑположение каÑалога Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . Ð ÑелÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи каÑалог даннÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ ÑказÑваÑÑ Ð² командной ÑÑÑоке.
pg_resetwalне поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð¿ÐµÑеменнÑÑ Ð¾ÐºÑÑжениÑPGDATA.-f--forceÐÑинÑдиÑÑ
pg_resetwalпÑодолжиÑÑ ÑабоÑÑ Ð´Ð°Ð¶Ðµ в опаÑнÑÑ ÑиÑÑаÑиÑÑ , опиÑаннÑÑ Ð²ÑÑе. Ð ÑаÑÑноÑÑи, ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ Ð´Ð»Ñ Ð¿ÑÐ¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ ÑабоÑÑ, еÑли ÑеÑÐ²ÐµÑ Ð±Ñл аваÑийно оÑÑановлен или еÑлиpg_resetwalне Ð¼Ð¾Ð¶ÐµÑ Ð¾Ð¿ÑеделиÑÑ ÐºÐ¾ÑÑекÑнÑе даннÑе Ð´Ð»Ñ Ñайлаpg_control.-n--dry-runС клÑÑом
-n/--dry-runкомандаpg_resetwalоÑобÑÐ°Ð¶Ð°ÐµÑ Ð·Ð½Ð°ÑениÑ, извлеÑÑннÑе изpg_control, а Ñакже знаÑениÑ, коÑоÑÑе планиÑÑеÑÑÑ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ, и завеÑÑаеÑÑÑ, не вноÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹. ÐÑо, пÑежде вÑего, ÑÑедÑÑво оÑладки, Ñ Ð¾ÑÑ Ð¾Ð½Ð¾ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ и Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¿ÑовеÑиÑÑ ÐºÐ¾ÑÑекÑноÑÑÑ Ð¿Ð°ÑамеÑÑов, пÑежде Ñемpg_resetwalнаÑнÑÑ ÑÑо-либо делаÑÑ.-V--versionÐоказаÑÑ Ð²ÐµÑÑиÑ, а заÑем завеÑÑиÑÑÑÑ.
-?--helpÐоказаÑÑ ÑпÑавкÑ, а заÑем завеÑÑиÑÑÑÑ.
СледÑÑÑие паÑамеÑÑÑ Ð½ÐµÐ¾Ð±Ñ
одимÑ, ÑолÑко когда pg_resetwal не Ð¼Ð¾Ð¶ÐµÑ Ð¾Ð¿ÑеделиÑÑ Ð¿Ð¾Ð´Ñ
одÑÑие знаÑениÑ, пÑоÑиÑав pg_control. ÐезопаÑнÑе знаÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ опÑеделиÑÑ, как опиÑано ниже. ÐÐ»Ñ Ð·Ð½Ð°Ñений, пÑинимаÑÑиÑ
ÑиÑловÑе аÑгÑменÑÑ, можно задаÑÑ ÑеÑÑнадÑаÑеÑиÑнÑе знаÑениÑ, добавив пÑеÑÐ¸ÐºÑ 0x. ÐбÑаÑиÑе внимание, ÑÑо ÑÑи инÑÑÑÑкÑии оÑноÑÑÑÑÑ ÑолÑко к ÑÑандаÑÑÐ½Ð¾Ð¼Ñ Ð±Ð»Ð¾ÐºÑ ÑазмеÑом 8 ÐÐ.
-cxid,xid--commit-timestamp-ids=xid,xidÐÑÑÑнÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑÑ ÑÑаÑейÑей и новейÑей ÑÑанзакÑий, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ полÑÑиÑÑ Ð²ÑÐµÐ¼Ñ ÑикÑаÑии.
ÐезопаÑное знаÑение иденÑиÑикаÑоÑа ÑÑаÑейÑей ÑÑанзакÑии, Ð´Ð»Ñ ÐºÐ¾ÑоÑой можно полÑÑиÑÑ Ð²ÑÐµÐ¼Ñ ÑикÑаÑии (пеÑвÑй компоненÑ), можно опÑеделиÑÑ, Ð½Ð°Ð¹Ð´Ñ Ð½Ð°Ð¸Ð¼ÐµÐ½ÑÑее в ÑиÑловом виде Ð¸Ð¼Ñ Ñайла в каÑалоге
pg_commit_tsвнÑÑÑи каÑалога даннÑÑ . ÐезопаÑное знаÑение иденÑиÑикаÑоÑа новейÑей ÑÑанзакÑии, Ð´Ð»Ñ ÐºÐ¾ÑоÑой можно полÑÑиÑÑ Ð²ÑÐµÐ¼Ñ ÑикÑаÑии (вÑоÑой компоненÑ), можно опÑеделиÑÑ, найдÑ, напÑоÑив, наиболÑÑее в ÑиÑловом виде Ð¸Ð¼Ñ Ñайла в Ñом же каÑалоге. ЧиÑла в Ð¸Ð¼ÐµÐ½Ð°Ñ ÑÑÐ¸Ñ Ñайлов пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² ÑеÑÑнадÑаÑеÑиÑном ÑоÑмаÑе.-eÑÐ¿Ð¾Ñ Ð°_xid--epoch=ÑÐ¿Ð¾Ñ Ð°_xidÐÑÑÑнÑÑ Ð·Ð°Ð´Ð°ÑÑ ÑÐ¿Ð¾Ñ Ñ Ð² ID ÑледÑÑÑей ÑÑанзакÑии.
ÐÐ¿Ð¾Ñ Ð° иденÑиÑикаÑоÑов ÑÑанзакÑии не Ñ ÑаниÑÑÑ Ð² базе даннÑÑ Ð½Ð¸Ð³Ð´Ðµ, кÑоме полÑ, ÑÑÑанавливаемого командой
pg_resetwal, поÑÑÐ¾Ð¼Ñ ÐµÑли ÑаÑÑмаÑÑиваÑÑ ÑобÑÑвенно базÑ, допÑÑÑимÑм бÑÐ´ÐµÑ Ð»Ñбое знаÑение. ÐÑо знаÑение, возможно, понадобиÑÑÑ ÑкоÑÑекÑиÑоваÑÑ Ð´Ð»Ñ Ð¾Ð±ÐµÑпеÑÐµÐ½Ð¸Ñ Ð¿ÑавилÑной ÑабоÑÑ ÑиÑÑÐµÐ¼Ñ ÑепликаÑии, напÑимеÑ, Slony-I и Skytools. Ð ÑÑом ÑлÑÑае Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑее знаÑение ÑледÑÐµÑ Ð¿Ð¾Ð»ÑÑиÑÑ Ð¸Ð· ÑоÑÑоÑÐ½Ð¸Ñ Ð½Ð¸Ð¶ÐµÐ»ÐµÐ¶Ð°Ñей ÑеплиÑиÑованной Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ .-lwalfile--next-wal-file=walfileÐÑÑÑнÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð½Ð°ÑалÑнÑÑ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ WAL, Ñказав Ð¸Ð¼Ñ Ñайла ÑледÑÑÑего ÑегменÑа WAL.
ÐÐ¼Ñ Ñайла ÑледÑÑÑего ÑегменÑа WAL должно пÑевÑÑаÑÑ Ð¸Ð¼ÐµÐ½Ð° лÑбÑÑ Ð´ÑÑÐ³Ð¸Ñ Ñайлов ÑегменÑов WAL, в наÑÑоÑÑее вÑÐµÐ¼Ñ Ð½Ð°Ñ Ð¾Ð´ÑÑÐ¸Ñ ÑÑ Ð² подкаÑалоге
pg_walкаÑалога даннÑÑ . ÐÑи имена Ñоже пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² ÑеÑÑнадÑаÑеÑиÑном виде и ÑоÑÑоÑÑ Ð¸Ð· ÑÑÑÑ ÑаÑÑей. ÐеÑÐ²Ð°Ñ Ð¸Ð· Ð½Ð¸Ñ â «ID линии вÑемени» и ÐµÑ Ð¾Ð±ÑÑно не ÑледÑÐµÑ Ð¼ÐµÐ½ÑÑÑ. ÐапÑимеÑ, еÑли00000001000000320000004Aâ наиболÑÑее знаÑение вpg_wal, нÑжно ÑказаÑÑ-l 00000001000000320000004Bили болÑÑее ÑиÑло.ÐамеÑÑÑе, ÑÑо пÑи иÑполÑзовании неÑÑандаÑÑнÑÑ ÑазмеÑов ÑегменÑов WAL ÑиÑла в Ð¸Ð¼ÐµÐ½Ð°Ñ Ñайлов WAL оÑлиÑаÑÑÑÑ Ð¾Ñ LSN, вÑдаваемÑÑ ÑиÑÑемнÑми ÑÑнкÑиÑми и пÑедÑÑавлениÑми. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¸Ð¼Ñ Ñайла WAL, а не LSN.
ÐÑимеÑание
pg_resetwalиÑÐµÑ ÑÑеди Ñайлов каÑалогаpg_wal, и по ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑбиÑÐ°ÐµÑ Ð·Ð½Ð°Ñение Ð´Ð»Ñ Ñлага-l, идÑÑее ÑледÑÑÑим поÑле найденного. Таким обÑазом, вÑÑÑнÑÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑ Ð¿Ð°ÑамеÑÑ-lнÑжно лиÑÑ ÐµÑли извеÑÑно о ÑÑÑеÑÑвовании ÑегменÑов WAL, оÑÑÑÑÑÑвÑÑÑÐ¸Ñ Ð² наÑÑоÑÑий Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð² каÑалогеpg_wal(напÑимеÑ, они могÑÑ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² оÑделÑном аÑÑ Ð¸Ð²Ðµ); либо еÑли ÑодеÑжимоеpg_walбÑло полноÑÑÑÑ ÑÑеÑÑно.-mmxid,mxid--multixact-ids=mxid,mxidÐÑÑÑнÑÑ Ð·Ð°Ð´Ð°ÑÑ ID ÑледÑÑÑей и ÑÑаÑейÑей мÑлÑÑиÑÑанзакÑии.
ÐезопаÑное знаÑение ÑледÑÑÑего иденÑиÑикаÑоÑа мÑлÑÑиÑÑанзакÑии (пеÑвÑй компоненÑ) можно вÑÑиÑлиÑÑ, Ð½Ð°Ð¹Ð´Ñ Ð½Ð°Ð¸Ð±Ð¾Ð»ÑÑее ÑиÑловое знаÑение ÑÑеди имÑн Ñайлов, ÑаÑположеннÑÑ Ð² каÑалоге
pg_multixact/offsets. Ð Ð½Ð°Ð¹Ð´ÐµÐ½Ð½Ð¾Ð¼Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑибавиÑÑ Ð¾Ð´Ð¸Ð½, заÑем ÑмножиÑÑ Ð½Ð° 65536 (0x10000). ÐÐ»Ñ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°Ñного знаÑÐµÐ½Ð¸Ñ ID ÑÑаÑейÑей мÑлÑÑиÑÑанзакÑии (вÑоÑой компоненÑ-m) Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ найÑи наименÑÑее ÑиÑловое знаÑение ÑÑеди ÑÐµÑ Ð¶Ðµ Ñайлов, и ÑмножиÑÑ ÐµÐ³Ð¾ на 65536. Ðмена Ñайлов пÑедÑÑавлÑÑÑÑÑ Ð² ÑеÑÑнадÑаÑеÑиÑном ÑоÑмаÑе, Ñак ÑÑо знаÑÐµÐ½Ð¸Ñ Ð¿ÑоÑе ÑказÑваÑÑ Ð² нÑм же, добавив в конÑе ÑеÑÑÑе нÑлÑ.-ooid--next-oid=oidÐÑÑÑнÑÑ Ð·Ð°Ð´Ð°ÑÑ ÑледÑÑÑий OID.
Ðе ÑÑÑеÑÑвÑÐµÑ Ð¾ÑноÑиÑелÑно пÑоÑÑого ÑпоÑоба вÑÑиÑÐ»ÐµÐ½Ð¸Ñ ÑледÑÑÑего за наиболÑÑим из ÑÑÑеÑÑвÑÑÑÐ¸Ñ Ð·Ð½Ð°Ñением OID, однако ÑÑо некÑиÑиÑно.
-Omxoff--multixact-offset=mxoffÐÑÑÑнÑÑ Ð·Ð°Ð´Ð°ÑÑ ÑмеÑение ÑледÑÑÑей мÑлÑÑиÑÑанзакÑии.
ÐезопаÑное знаÑение можно опÑеделиÑÑ, Ð½Ð°Ð¹Ð´Ñ Ð½Ð°Ð¸Ð±Ð¾Ð»ÑÑее ÑиÑловое знаÑение в имени Ñайла в каÑалоге
pg_multixact/members, пÑибавив один и Ñмножив ÑезÑлÑÑÐ°Ñ Ð½Ð° 52352 (0xCC80). Ðмена Ñайлов пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² ÑеÑÑнадÑаÑеÑиÑном ÑоÑмаÑе. ÐÑоÑÑого ÑеÑепÑа Ñ Ð¿Ñибавлением нÑлей в конÑе, как Ð´Ð»Ñ Ð´ÑÑÐ³Ð¸Ñ Ð¿Ð°ÑамеÑÑов, в данном ÑлÑÑае неÑ.-uxid--oldest-transaction-id=xidÐÑÑÑнÑÑ Ð·Ð°Ð´Ð°ÑÑ ID ÑÑаÑейÑей незамоÑоженной ÑÑанзакÑии.
ÐезопаÑное знаÑение можно опÑеделиÑÑ, Ð½Ð°Ð¹Ð´Ñ Ð½Ð°Ð¸Ð¼ÐµÐ½ÑÑее ÑиÑловое знаÑение в имени Ñайла в подкаÑалоге
pg_xactкаÑалога даннÑÑ , а заÑем Ñмножив ÑезÑлÑÑÐ°Ñ Ð½Ð° 1048576 (0x100000). ÐамеÑÑÑе, ÑÑо имена Ñайлов пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² ÑеÑÑнадÑаÑеÑиÑном ÑоÑмаÑе. ÐнаÑение ÑÑого паÑамеÑÑа обÑÑно Ñакже пÑоÑе задаваÑÑ Ð² ÑеÑÑнадÑаÑеÑиÑном виде. ÐапÑимеÑ, еÑли0007â наименÑÑее знаÑение вpg_xact, Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑим знаÑением бÑдеÑ-u 0x700000(нÑжнÑй множиÑÐµÐ»Ñ Ð´Ð°ÑÑ Ð¿ÑÑÑ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð½Ñлей).-xxid--next-transaction-id=xidÐÑÑÑнÑÑ Ð·Ð°Ð´Ð°ÑÑ ID ÑледÑÑÑей ÑÑанзакÑии.
ÐезопаÑное знаÑение можно опÑеделиÑÑ, Ð½Ð°Ð¹Ð´Ñ Ð½Ð°Ð¸Ð±Ð¾Ð»ÑÑее ÑиÑловое знаÑение в имени Ñайла в подкаÑалоге
pg_xactкаÑалога даннÑÑ , пÑибавив один и Ñмножив ÑезÑлÑÑÐ°Ñ Ð½Ð° 1048576 (0x100000). ÐамеÑÑÑе, ÑÑо имена Ñайлов пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² ÑеÑÑнадÑаÑеÑиÑном ÑоÑмаÑе. ÐнаÑение ÑÑого паÑамеÑÑа обÑÑно Ñакже пÑоÑе задаваÑÑ Ð² ÑеÑÑнадÑаÑеÑиÑном виде. ÐапÑимеÑ, еÑли0011â наиболÑÑее знаÑение вpg_xact, Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑим знаÑением бÑдеÑ-x 0x1200000(нÑжнÑй множиÑÐµÐ»Ñ Ð´Ð°ÑÑ Ð¿ÑÑÑ Ð¿Ð¾ÑÐ»ÐµÐ´Ð½Ð¸Ñ Ð½Ñлей).--char-signedness=паÑамеÑÑÐÑÑÑнÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð½Ð°Ð»Ð¸Ñие знака Ñ Ñипа даннÑÑ char по ÑмолÑаниÑ. ÐозможнÑе знаÑениÑ:
signed(Ñо знаком) иunsigned(без знака).ÐÐ»Ñ ÐºÐ»Ð°ÑÑеÑа баз даннÑÑ , коÑоÑÑй бÑл обновлÑн Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
pg_upgradeÑ Ð²ÐµÑÑии ниже Postgres Pro 18, безопаÑнÑм знаÑением паÑамеÑÑа бÑÐ´ÐµÑ Ð·Ð½Ð°ÐºÐ¾Ð²Ð¾ÑÑÑ Ñипаcharпо ÑмолÑÐ°Ð½Ð¸Ñ Ð² плаÑÑоÑме, на коÑоÑой ÑабоÑал клаÑÑÐµÑ Ð´Ð¾ обновлениÑ. ÐÐ»Ñ Ð²ÑÐµÑ Ð¾ÑÑалÑнÑÑ ÐºÐ»Ð°ÑÑеÑов безопаÑнÑм знаÑением бÑдеÑsigned. Ðднако ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÑедназнаÑен иÑклÑÑиÑелÑно Ð´Ð»Ñ Ð¸ÑполÑзованиÑpg_upgradeи обÑÑно не должен иÑполÑзоваÑÑÑÑ Ð²ÑÑÑнÑÑ.--wal-segsize=ÑазмеÑ_ÑегменÑа_walÐадаÑÑ Ð´ÑÑгой ÑÐ°Ð·Ð¼ÐµÑ ÑегменÑа WAL, в мегабайÑÐ°Ñ . ÐнаÑение паÑамеÑÑа должно бÑÑÑ ÑÑепенÑÑ 2 Ð¾Ñ 1 до 1024 (в мегабайÑÐ°Ñ ). ÐодÑобнее о нÑм можно ÑзнаÑÑ Ð² опиÑании Ñакого же паÑамеÑÑа initdb.
ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ Ñакже иÑполÑзоваÑÑ Ð´Ð»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑазмеÑа ÑегменÑов WAL ÑÑÑеÑÑвÑÑÑего клаÑÑеÑа баз даннÑÑ , Ð¾Ð±Ñ Ð¾Ð´ÑÑÑ Ð±ÐµÐ· повÑоÑного иÑполÑзованиÑ
initdb.ÐÑимеÑание
ХоÑÑ
pg_resetwalвÑбиÑÐ°ÐµÑ ÑÑаÑÑовÑй адÑÐµÑ WAL, пÑевÑÑаÑÑий Ð½Ð¾Ð¼ÐµÑ Ð¿Ð¾Ñледнего ÑÑÑеÑÑвÑÑÑего Ñайла ÑегменÑа WAL, пÑи некоÑоÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸ÑÑ ÑазмеÑа пÑедÑдÑÑие имена Ñайлов WAL могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð¿Ð¾Ð²ÑоÑно. ÐÑли наложение имÑн Ñайлов WAL пÑиведÑÑ Ðº пÑоблемам Ñ Ð²Ð°Ñей ÑÑÑаÑегией аÑÑ Ð¸Ð²Ð°Ñии, ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ-lвмеÑÑе Ñ ÑÑим клÑÑом, ÑÑÐ¾Ð±Ñ Ð²ÑÑÑнÑÑ Ð·Ð°Ð´Ð°ÑÑ Ð½Ð°ÑалÑнÑй адÑÐµÑ WAL.
ÐеÑеменнÑе окÑÑжениÑ
PG_COLORÐÑбиÑÐ°ÐµÑ Ð²Ð°ÑÐ¸Ð°Ð½Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвеÑа в диагноÑÑиÑеÑÐºÐ¸Ñ ÑообÑениÑÑ . ÐозможнÑе знаÑениÑ:
always(вÑегда),auto(авÑомаÑиÑеÑки) иnever(никогда).
ÐÑимеÑаниÑ
ÐÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð½ÐµÐ»ÑÐ·Ñ Ð²ÑполнÑÑÑ Ð½Ð° ÑабоÑаÑÑем ÑеÑвеÑе. pg_resetwal оÑÐºÐ»Ð¾Ð½Ð¸Ñ Ð²Ñполнение пÑи обнаÑÑженном блокиÑÑÑÑем Ñайле в каÑалоге Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
. Ðногда пÑи аваÑии ÑеÑвеÑа блокиÑÑÑÑий Ñайл Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑÑаÑÑÑÑ Ð² ÑиÑÑеме. Ð ÑÑом ÑлÑÑае необÑ
одимо ÑамоÑÑоÑÑелÑно ÑдалиÑÑ ÐµÐ³Ð¾, ÑÑÐ¾Ð±Ñ Ð´Ð°ÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ pg_resetwal оÑÑабоÑаÑÑ. ÐеÑед вÑполнением опеÑаÑии Ð´Ð²Ð°Ð¶Ð´Ñ Ð¿ÑовеÑÑÑе, ÑÑо ÑеÑÐ²ÐµÑ Ð¾ÑÑановлен.
pg_resetwal ÑабоÑÐ°ÐµÑ ÑолÑко Ñ ÑеÑвеÑами Ñой же оÑновной веÑÑии.