pg_amcheck
pg_amcheck â пÑовеÑиÑÑ Ð¾Ð´Ð½Ñ Ð¸Ð»Ð¸ неÑколÑко ÐÐ PostgreSQL на пÑÐµÐ´Ð¼ÐµÑ Ð¿Ð¾Ð²ÑеждениÑ
СинÑакÑиÑ
pg_amcheck [паÑамеÑÑ...] [dbname]
ÐпиÑание
ÐÑогÑамма pg_amcheck поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð·Ð°Ð¿ÑÑк ÑеализованнÑÑ Ð² ÑаÑÑиÑении amcheck ÑÑнкÑий, вÑÑвлÑÑÑÐ¸Ñ Ð¿Ð¾Ð²ÑеждениÑ, в одной или неÑколÑÐºÐ¸Ñ Ð±Ð°Ð·Ð°Ñ Ð´Ð°Ð½Ð½ÑÑ , Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑÑ Ð²ÑбоÑа пÑовеÑÑемÑÑ Ð¸Ð½Ð´ÐµÐºÑов, ÑÐ°Ð±Ð»Ð¸Ñ Ð¸ ÑÑ ÐµÐ¼. Ðна Ñакже позволÑÐµÑ Ð²ÑбÑаÑÑ, какие пÑовеÑки бÑдÑÑ Ð²ÑполнÑÑÑÑÑ, и запÑÑÑиÑÑ Ð¸Ñ Ð² паÑаллелÑном Ñежиме (Ð´Ð»Ñ ÐºÐ¾ÑоÑого задаÑÑÑÑ ÑиÑло паÑаллелÑнÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений).
РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑÑÑ ÑолÑко обÑÑнÑе ÑаблиÑнÑе оÑноÑениÑ, ÑаблиÑÑ TOAST, маÑеÑиализованнÑе пÑедÑÑавлениÑ, поÑледоваÑелÑноÑÑи и индекÑÑ btree. ÐÑÑгие ÑÐ¸Ð¿Ñ Ð¾ÑноÑений пÑоÑÑо пÑопÑÑкаÑÑÑÑ.
ÐÑли задаÑÑÑÑ Ð¸Ð¼Ñ_бд, ÑÑо должно бÑÑÑ Ð¸Ð¼Ñ Ð¾Ð´Ð½Ð¾Ð¹ пÑовеÑÑемой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, а никакие дÑÑгие паÑамеÑÑÑ Ð²ÑбоÑа Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
задаваÑÑÑÑ Ð½Ðµ должнÑ. ÐÑли же, напÑоÑив, пÑиÑÑÑÑÑвÑÑÑ Ð¿Ð°ÑамеÑÑÑ Ð²ÑбоÑа баз даннÑÑ
, бÑдÑÑ Ð¿ÑовеÑÑÑÑÑÑ Ð²Ñе ÑооÑвеÑÑÑвÑÑÑие базÑ. РоÑÑÑÑÑÑвие ÑÑиÑ
паÑамеÑÑов пÑовеÑÑÑÑÑÑ Ð±ÑÐ´ÐµÑ ÑолÑко база по ÑмолÑаниÑ. ÐаÑамеÑÑами, вÑбиÑаÑÑими базÑ, ÑвлÑÑÑÑÑ --all, --database и --exclude-database. Также в иÑ
ÑиÑло можно вклÑÑиÑÑ --relation, --exclude-relation, --table, --exclude-table, --index и --exclude-index, но ÑолÑко еÑли иÑ
знаÑÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°ÑÑÑÑ ÑÑÐµÐ¼Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñами (напÑимеÑ, mydb*.myschema*.myrel*). РнаконеÑ, к Ñаким паÑамеÑÑам можно оÑнеÑÑи --schema и --exclude-schema, еÑли иÑ
знаÑÐµÐ½Ð¸Ñ Ð·Ð°Ð´Ð°ÑÑÑÑ Ð´Ð²ÑÐ¼Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñами (напÑимеÑ, mydb*.myschema*).
РкаÑеÑÑве паÑамеÑÑа имÑ_бд Ð¼Ð¾Ð¶ÐµÑ Ñакже пеÑедаваÑÑÑÑ ÑÑÑока подклÑÑениÑ.
ÐаÑамеÑÑÑ
СледÑÑÑие паÑамеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки опÑеделÑÑÑ, ÑÑо бÑÐ´ÐµÑ Ð¿ÑовеÑÑÑÑÑÑ:
-a--allÐÑовеÑиÑÑ Ð²Ñе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ (кÑоме иÑклÑÑÑннÑÑ Ð°ÑгÑменÑом
--exclude-database).-dÑаблон--database=ÑаблонÐÑовеÑиÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , ÑооÑвеÑÑÑвÑÑÑие заданномÑ
ÑаблонÑ, кÑоме иÑклÑÑÑннÑÑ Ð°ÑгÑменÑом--exclude-database. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ добавлÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно.-DÑаблон--exclude-database=ÑаблонÐÑклÑÑиÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , ÑооÑвеÑÑÑвÑÑÑие заданномÑ
ÑаблонÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ добавлÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно.-iÑаблон--index=ÑаблонÐÑовеÑиÑÑ Ð¸Ð½Ð´ÐµÐºÑÑ, ÑооÑвеÑÑÑвÑÑÑие заданномÑ
ÑаблонÑ, еÑли они не иÑклÑÑÐµÐ½Ñ ÐºÐ°ÐºÐ¸Ð¼-либо обÑазом. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ добавлÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð´Ð¾Ð±ÐµÐ½ паÑамеÑÑÑ
--relation, но пÑименÑеÑÑÑ ÑолÑко к индекÑам, а не к дÑÑгим Ñипам оÑноÑений.-IÑаблон--exclude-index=ÑаблонÐÑклÑÑиÑÑ Ð¸Ð½Ð´ÐµÐºÑÑ, ÑооÑвеÑÑÑвÑÑÑие заданномÑ
ÑаблонÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ добавлÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð´Ð¾Ð±ÐµÐ½ паÑамеÑÑÑ
--exclude-relation, но пÑименÑеÑÑÑ ÑолÑко к индекÑам, а не к дÑÑгим Ñипам оÑноÑений.-rÑаблон--relation=ÑаблонÐÑовеÑиÑÑ Ð¾ÑноÑениÑ, ÑооÑвеÑÑÑвÑÑÑие заданномÑ
ÑаблонÑ, еÑли они не иÑклÑÑÐµÐ½Ñ ÐºÐ°ÐºÐ¸Ð¼-либо обÑазом. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ добавлÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно.Ð¨Ð°Ð±Ð»Ð¾Ð½Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð½ÐµÐ¿Ð¾Ð»Ð½Ñми, напÑимеÑ
myrel*, либо они могÑÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ Ñ Ñказанием ÑÑ ÐµÐ¼Ñ, напÑимеÑmyschema*.myrel*, а Ñакже Ñ Ñказанием Ð±Ð°Ð·Ñ Ð¸ ÑÑ ÐµÐ¼Ñ, напÑимеÑmydb*.myschema*.myrel*. Ð ÑлÑÑае ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñаблона Ñ Ð±Ð°Ð·Ð¾Ð¹ даннÑÑ , вÑе ÑооÑвеÑÑÑвÑÑÑие Ð±Ð°Ð·Ñ Ð±ÑдÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ Ð² ÑпиÑок баз, подлежаÑÐ¸Ñ Ð¿ÑовеÑке.-RÑаблон--exclude-relation=ÑаблонÐÑклÑÑиÑÑ Ð¾ÑноÑениÑ, ÑооÑвеÑÑÑвÑÑÑие заданномÑ
ÑаблонÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ добавлÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно.Ðак и Ñ
--relation,ÑÐ°Ð±Ð»Ð¾Ð½Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÐ¿Ð¾Ð»Ð½Ñм или дополненнÑм Ñказанием ÑÑ ÐµÐ¼Ñ, а Ñакже Ñказанием Ð±Ð°Ð·Ñ Ð¸ ÑÑ ÐµÐ¼Ñ.-sÑаблон--schema=ÑаблонÐÑовеÑиÑÑ ÑаблиÑÑ Ð¸ индекÑÑ Ð² ÑÑ ÐµÐ¼Ð°Ñ , ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ
ÑаблонÑ, еÑли ÑооÑвеÑÑÑвÑÑÑие обÑекÑÑ Ð½Ðµ иÑклÑÑÐµÐ½Ñ ÐºÐ°ÐºÐ¸Ð¼-либо обÑазом. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ добавлÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно.ЧÑÐ¾Ð±Ñ Ð¿ÑовеÑиÑÑ ÑолÑко ÑаблиÑÑ Ð² ÑÑ ÐµÐ¼Ð°Ñ , ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ð¾Ð¿ÑеделÑÐ½Ð½Ð¾Ð¼Ñ ÑаблонÑ, можно ÑказаÑÑ Ð² паÑамеÑÑаÑ
--table=ШÐÐÐÐÐ_СХÐÐЫ.* --no-dependent-indexes. ЧÑÐ¾Ð±Ñ Ð²ÑбÑаÑÑ ÑолÑко индекÑÑ, можно воÑполÑзоваÑÑÑÑ Ñказанием--index=ШÐÐÐÐÐ_СХÐÐЫ.*.Шаблон ÑÑ ÐµÐ¼Ñ Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ Ñказание базÑ. ÐапÑимеÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе напиÑаÑÑ
--schema=mydb*.myschema*, ÑÑÐ¾Ð±Ñ Ð²ÑбÑаÑÑ ÑÑ ÐµÐ¼Ñmyschema*в Ð±Ð°Ð·Ð°Ñ Ð´Ð°Ð½Ð½ÑÑ , ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ ÑаблонÑmydb*.-SÑаблон--exclude-schema=ÑаблонÐÑклÑÑиÑÑ ÑаблиÑÑ Ð¸ индекÑÑ Ð² ÑÑ ÐµÐ¼Ð°Ñ , ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ
ÑаблонÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ добавлÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно.Ðак и в паÑамеÑÑе
--schema, к ÑÐ°Ð±Ð»Ð¾Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð¾ добавиÑÑ Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ .-tÑаблон--table=ÑаблонÐÑовеÑиÑÑ ÑаблиÑÑ Ð² ÑÑ ÐµÐ¼Ð°Ñ , ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼Ñ
ÑаблонÑ, еÑли ÑооÑвеÑÑÑвÑÑÑие обÑекÑÑ Ð½Ðµ иÑклÑÑÐµÐ½Ñ ÐºÐ°ÐºÐ¸Ð¼-либо обÑазом. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ добавлÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð´Ð¾Ð±ÐµÐ½ паÑамеÑÑÑ
--relation, но пÑименÑеÑÑÑ ÑолÑко к ÑаблиÑам, маÑеÑиализованнÑм пÑедÑÑавлениÑм и поÑледоваÑелÑноÑÑÑм, а не к индекÑам.-TÑаблон--exclude-table=ÑаблонÐÑклÑÑиÑÑ ÑаблиÑÑ, ÑооÑвеÑÑÑвÑÑÑие заданномÑ
ÑаблонÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ добавлÑÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð´Ð¾Ð±ÐµÐ½ паÑамеÑÑÑ
--exclude-relation, но пÑименÑеÑÑÑ ÑолÑко к ÑаблиÑам, маÑеÑиализованнÑм пÑедÑÑавлениÑм и поÑледоваÑелÑноÑÑÑм, а не к индекÑам.--no-dependent-indexesÐо ÑмолÑаниÑ, еÑли пÑовеÑÑеÑÑÑ ÑаблиÑа, Ñакже бÑдÑÑ Ð¿ÑовеÑÑÑÑÑÑ Ð²Ñе индекÑÑ btree ÑÑой ÑаблиÑÑ, даже еÑли они не бÑли Ñвно вÑбÑÐ°Ð½Ñ ÐºÐ»ÑÑами Ñипа
--indexили--relation. ÐаннÑй паÑамеÑÑ Ð¾ÑклÑÑÐ°ÐµÑ ÑÑо поведение.--no-dependent-toastÐо ÑмолÑаниÑ, еÑли пÑовеÑÑеÑÑÑ ÑаблиÑа, Ñакже бÑÐ´ÐµÑ Ð¿ÑовеÑÑÑÑÑÑ ÐµÑ TOAST-ÑаблиÑа (еÑли ÑÐ°ÐºÐ¾Ð²Ð°Ñ Ð¸Ð¼ÐµÐµÑÑÑ), даже еÑли она не бÑла Ñвно вÑбÑана клÑÑами Ñипа
--tableили--relation. ÐаннÑй паÑамеÑÑ Ð¾ÑклÑÑÐ°ÐµÑ ÑÑо поведение.--no-strict-namesÐо ÑмолÑаниÑ, еÑли аÑгÑменÑÑ
--database,--table,--indexили--relationне ÑооÑвеÑÑÑвÑÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¸Ðµ обÑекÑÑ, ÑÑо ÑÑиÑаеÑÑÑ ÐºÑиÑиÑеÑкой оÑибкой. С даннÑм паÑамеÑÑом ÑÑÐ¾Ð²ÐµÐ½Ñ Ð¾Ñибки понижаеÑÑÑ Ð´Ð¾ пÑедÑпÑеждениÑ.
СледÑÑÑие паÑамеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки ÑпÑавлÑÑÑ Ð¼ÐµÑодами пÑовеÑки ÑаблиÑ:
--exclude-toast-pointersÐо ÑмолÑаниÑ, когда в ÑаблиÑе вÑÑÑеÑаеÑÑÑ ÑказаÑÐµÐ»Ñ Ð½Ð° TOAST, оÑÑÑеÑÑвлÑеÑÑÑ Ð¿Ð¾Ð¸Ñк запиÑи в TOAST-ÑаблиÑе Ð´Ð»Ñ Ð¿ÑовеÑки коÑÑекÑноÑÑи ÑказаÑелÑ. ÐÑи пÑовеÑки могÑÑ Ð±ÑÑÑ Ð´Ð¾Ð²Ð¾Ð»Ñно медленнÑми, и даннÑй паÑамеÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð¿ÑопÑÑÑиÑÑ Ð¸Ñ .
--on-error-stopÐÑекÑаÑаÑÑ Ð¾Ð±ÑабоÑÐºÑ ÑаблиÑного оÑноÑÐµÐ½Ð¸Ñ ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð±Ð¾ вÑÐµÑ Ð¿Ð¾Ð²ÑеждениÑÑ Ð½Ð° пеÑвой повÑеждÑнной ÑÑÑаниÑе и пеÑÐµÑ Ð¾Ð´Ð¸ÑÑ Ðº ÑледÑÑÑей ÑаблиÑе или индекÑÑ.
ÐамеÑÑÑе, ÑÑо пÑовеÑка индекÑа вÑегда пÑекÑаÑаеÑÑÑ Ð¿Ð¾Ñле обнаÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¿ÐµÑвой повÑеждÑнной ÑÑÑаниÑÑ. ÐаннÑй паÑамеÑÑ Ð¸Ð¼ÐµÐµÑ ÑмÑÑл ÑолÑко Ð´Ð»Ñ ÑаблиÑнÑÑ Ð¾ÑноÑений.
--skip=паÑамеÑÑС Ñказанием
all-frozenпÑовеÑки повÑеждений ÑÐ°Ð±Ð»Ð¸Ñ Ð±ÑдÑÑ Ð¿ÑопÑÑкаÑÑ ÑÑÑаниÑÑ, помеÑеннÑе как полноÑÑÑÑ Ð·Ð°Ð¼Ð¾ÑоженнÑе, во вÑÐµÑ ÑаблиÑÐ°Ñ .С Ñказанием
all-visibleпÑовеÑки повÑеждений ÑÐ°Ð±Ð»Ð¸Ñ Ð±ÑдÑÑ Ð¿ÑопÑÑкаÑÑ ÑÑÑаниÑÑ, помеÑеннÑе как полноÑÑÑÑ Ð²Ð¸Ð´Ð¸Ð¼Ñе, во вÑÐµÑ ÑаблиÑÐ°Ñ .Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð½Ð¸ÐºÐ°ÐºÐ¸Ðµ ÑÑÑаниÑÑ Ð½Ðµ пÑопÑÑкаÑÑÑÑ. Такое поведение задаÑÑÑÑ Ð·Ð½Ð°Ñением
none, но Ñак как ÑÑо знаÑение подÑазÑмеваеÑÑÑ, Ñвно задаваÑÑ ÐµÐ³Ð¾ не ÑÑебÑеÑÑÑ.--startblock=блокÐаÑаÑÑ Ð¿ÑовеÑÐºÑ Ñ Ð±Ð»Ð¾ÐºÐ° Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм номеÑом. ÐÑли пÑовеÑÑемое ÑаблиÑное оÑноÑение ÑодеÑÐ¶Ð¸Ñ Ð¼ÐµÐ½ÑÑе заданного ÑиÑла блоков, бÑÐ´ÐµÑ Ð²Ñдана оÑибка. ÐаннÑй паÑамеÑÑ Ð¿ÑедÑÑавлÑеÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñм ÑолÑко Ð´Ð»Ñ Ð¿ÑовеÑки одной конкÑеÑной ÑаблиÑÑ, и он не дейÑÑвÑÐµÑ Ð½Ð° индекÑÑ. ÐополниÑелÑнÑе замеÑÐ°Ð½Ð¸Ñ Ð¿ÑÐ¸Ð²ÐµÐ´ÐµÐ½Ñ Ð² опиÑании
--endblock.--endblock=блокÐавеÑÑиÑÑ Ð¿ÑовеÑÐºÑ Ð½Ð° блоке Ñ ÑказаннÑм номеÑом. ÐÑли пÑовеÑÑемое ÑаблиÑное оÑноÑение ÑодеÑÐ¶Ð¸Ñ Ð¼ÐµÐ½ÑÑе заданного ÑиÑла блоков, бÑÐ´ÐµÑ Ð²Ñдана оÑибка. ÐаннÑй паÑамеÑÑ Ð¿ÑедÑÑавлÑеÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñм ÑолÑко Ð´Ð»Ñ Ð¿ÑовеÑки одной конкÑеÑной ÑаблиÑÑ, и он не дейÑÑвÑÐµÑ Ð½Ð° индекÑÑ. ÐÑли пÑовеÑÑеÑÑÑ Ð¸ обÑÑнаÑ, и TOAST-ÑаблиÑа, ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð´ÐµÐ¹ÑÑвÑÐµÑ Ð½Ð° обе, но пÑи пÑовеÑке TOAST-ÑказаÑелей Ñем не менее Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ñ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ Ðº блокам за ÑÑим пÑеделом, еÑли ÑолÑко ÑÑа пÑовеÑка не бÑла вÑклÑÑена паÑамеÑÑом
--exclude-toast-pointers.
СледÑÑÑие паÑамеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки ÑпÑавлÑÑÑ Ð¼ÐµÑодами пÑовеÑки индекÑов-B-деÑевÑев:
--heapallindexedÐÑовеÑÑÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ обÑабаÑÑваемого индекÑа налиÑие вÑÐµÑ ÐºÐ¾ÑÑежей кÑÑи в виде индекÑнÑÑ ÐºÐ¾ÑÑежей Ñ Ð¸ÑполÑзованием Ñежима
heapallindexedпÑовеÑки amcheck.--parent-checkÐÑполнÑÑÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ пÑовеÑÑемого индекÑа btree ÑÑнкÑÐ¸Ñ amcheck
bt_index_parent_check, пÑоводÑÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе пÑовеÑки ÑвÑзей ÑодиÑелÑ-поÑомок.Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑполнÑеÑÑÑ ÑÑнкÑÐ¸Ñ amcheck
bt_index_check, но замеÑÑÑе, ÑÑо в ÑлÑÑае иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°ÑамеÑÑа--rootdescendнеÑвно вÑбиÑаеÑÑÑ ÑÑнкÑиÑbt_index_parent_check.--rootdescendÐÑи пÑовеÑке каждого индекÑа Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ коÑÑежа заново Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑ Ð¸Ð½Ð´ÐµÐºÑнÑе коÑÑежи на ÑÑовне лиÑÑÑев, пÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ñ Ð¿Ð¾Ð¸Ñк Ñ ÐºÐ¾Ñневой ÑÑÑаниÑÑ, Ñо еÑÑÑ Ð·Ð°Ð´ÐµÐ¹ÑÑвоваÑÑ Ñежим amcheck
rootdescend.ÐÑи иÑполÑзовании данного паÑамеÑÑа Ñакже неÑвно вклÑÑаеÑÑÑ Ð¿Ð°ÑамеÑÑ
--parent-check.ÐÑÐ¾Ñ Ñежим пÑовеÑки изнаÑалÑно ÑеализовÑвалÑÑ ÐºÐ°Ðº ÑÑедÑÑво, полезное пÑи ÑазÑабоÑке ÑÑнкÑионалÑноÑÑи индекÑов-B-деÑевÑев. Ðн Ð¼Ð¾Ð¶ÐµÑ Ð¾Ð±Ð½Ð°ÑÑживаÑÑ Ð½Ðµ вÑе или вовÑе не обнаÑÑживаÑÑ Ñе ÑÐ¸Ð¿Ñ Ð¿Ð¾Ð²Ñеждений, коÑоÑÑе вÑÑÑеÑаÑÑÑÑ Ð½Ð° пÑакÑике. Также в ÑÑом Ñежиме пÑовеÑка вÑполнÑеÑÑÑ Ð·Ð½Ð°ÑиÑелÑно долÑÑе и Ð´Ð»Ñ Ð½ÐµÑ ÑÑебÑеÑÑÑ Ð±Ð¾Ð»ÑÑе ÑеÑвеÑнÑÑ ÑеÑÑÑÑов.
ÐÑедÑпÑеждение
ÐополниÑелÑнÑе пÑовеÑки, вÑполнÑемÑе Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑов-B-деÑевÑев, когда Ñказан паÑамеÑÑ --parent-check или паÑамеÑÑ --rootdescend, ÑÑебÑÑÑ Ð¾ÑноÑиÑелÑно ÑилÑнÑÑ
блокиÑовок на ÑÑовне оÑноÑений. ТолÑко ÑÑи пÑовеÑки блокиÑÑÑÑ Ð¾Ð´Ð½Ð¾Ð²Ñеменное изменение даннÑÑ
командами INSERT, UPDATE и DELETE.
СледÑÑÑие паÑамеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки ÑпÑавлÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑением к ÑеÑвеÑÑ:
-hкомпÑÑÑеÑ--host=компÑÑÑеÑУказÑÐ²Ð°ÐµÑ Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа, на коÑоÑом ÑабоÑÐ°ÐµÑ ÑеÑвеÑ. ÐÑли знаÑение наÑинаеÑÑÑ Ñ ÐºÐ¾Ñой ÑеÑÑÑ, оно опÑеделÑÐµÑ ÐºÐ°Ñалог Unix-ÑокеÑа.
-pпоÑÑ--port=поÑÑУказÑÐ²Ð°ÐµÑ TCP-поÑÑ Ð¸Ð»Ð¸ ÑаÑÑиÑение Ñайла локалÑного Unix-ÑокеÑа, ÑеÑез коÑоÑÑй ÑеÑÐ²ÐµÑ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ.
-U--username=имÑ_полÑзоваÑелÑÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ, под коÑоÑÑм пÑоизводиÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение.
-w--no-passwordÐе вÑдаваÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð½Ð° ввод паÑолÑ. ÐÑли ÑеÑÐ²ÐµÑ ÑÑебÑÐµÑ Ð°ÑÑенÑиÑикаÑÐ¸Ñ Ð¿Ð¾ паÑÐ¾Ð»Ñ Ð¸ паÑÐ¾Ð»Ñ Ð½Ðµ доÑÑÑпен Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð´ÑÑÐ³Ð¸Ñ ÑÑедÑÑв, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº Ñайл
.pgpass, попÑÑка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ ÑдаÑÑÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ в пакеÑнÑÑ Ð·Ð°Ð´Ð°Ð½Ð¸ÑÑ Ð¸ ÑкÑипÑÐ°Ñ , где Ð½ÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, коÑоÑÑй Ð²Ð²Ð¾Ð´Ð¸Ñ Ð¿Ð°ÑолÑ.-W--passwordÐÑинÑдиÑелÑно запÑаÑиваÑÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ð¿ÐµÑед подклÑÑением к базе даннÑÑ .
ÐÑо неÑÑÑеÑÑвеннÑй паÑамеÑÑ, Ñак как pg_amcheck запÑаÑÐ¸Ð²Ð°ÐµÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ð°Ð²ÑомаÑиÑеÑки, еÑли ÑеÑÐ²ÐµÑ Ð¿ÑовеÑÑÐµÑ Ð¿Ð¾Ð´Ð»Ð¸Ð½Ð½Ð¾ÑÑÑ Ð¿Ð¾ паÑолÑ. Ðднако ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð½ÑÑÑ ÑÑо, pg_amcheck лиÑний Ñаз подклÑÑаеÑÑÑ Ðº ÑеÑвеÑÑ. ÐоÑÑÐ¾Ð¼Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° Ð¸Ð¼ÐµÐµÑ ÑмÑÑл ввеÑÑи
-W, ÑÑÐ¾Ð±Ñ Ð¸ÑклÑÑиÑÑ ÑÑÑ Ð½ÐµÐ½ÑжнÑÑ Ð¿Ð¾Ð¿ÑÑÐºÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ.--maintenance-db=dbnameÐадаÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð»Ð¸ ÑÑÑÐ¾ÐºÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ, ÑеÑез коÑоÑое бÑÐ´ÐµÑ Ð¾Ð¿ÑеделÑÑÑÑÑ ÑпиÑок баз даннÑÑ Ð´Ð»Ñ Ð¿ÑовеÑки. ÐÑли не иÑполÑзÑÑÑÑÑ Ð½Ð¸ клÑÑ
--all, ни паÑамеÑÑÑ, задаÑÑие Ñаблон имÑн пÑовеÑÑемÑÑ Ð±Ð°Ð· даннÑÑ , Ñакое подклÑÑение не ÑÑебÑеÑÑÑ Ð¸ даннÑй паÑамеÑÑ Ð¸Ð³Ð½Ð¾ÑиÑÑеÑÑÑ. ÐнаÑе вÑе паÑамеÑÑÑ Ð¸Ð· пеÑеданной ÑÑÑоки, за иÑклÑÑением имени Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , бÑдÑÑ Ñакже иÑполÑзоваÑÑÑÑ Ð¿Ñи подклÑÑении к пÑовеÑÑемÑм базам. ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑÑен, вÑполнÑеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение к базеpostgres, а еÑли к ней подклÑÑиÑÑÑÑ Ð½Ðµ ÑдаÑÑÑÑ â к базеtemplate1.
ÐÑÑгие паÑамеÑÑÑ:
-e--echoÐÑводиÑÑ Ð² stdout вÑе SQL-запÑоÑÑ, пеÑедаваемÑе ÑеÑвеÑÑ.
-jÑиÑло--jobs=ÑиÑлоÐÑполÑзоваÑÑ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ðµ
ÑиÑлоодновÑеменнÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑений к ÑеÑвеÑÑ, а еÑли оно пÑевÑÑÐ°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво обÑекÑов, ÑиÑло подклÑÑений огÑаниÑиваеÑÑÑ ÑÑим колиÑеÑÑвом.Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð¾Ð´Ð½Ð¾ подклÑÑение.
-P--progressÐÑводиÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ пÑогÑеÑÑе опеÑаÑии. ÐÑÐ²Ð¾Ð´Ð¸Ð¼Ð°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð²ÐºÐ»ÑÑÐ°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво оÑноÑений, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ Ð±Ñла пÑоведена пÑовеÑка, и обÑий ÑÐ°Ð·Ð¼ÐµÑ ÑÑÐ¸Ñ Ð¾ÑноÑений. Ð Ð½ÐµÑ Ñакже вклÑÑаеÑÑÑ Ð¾Ð±Ñее колиÑеÑÑво оÑноÑений, коÑоÑÑе Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÑовеÑенÑ, и пÑимеÑнÑй ÑÐ°Ð·Ð¼ÐµÑ ÑÑÐ¸Ñ Ð¾ÑноÑений.
-v--verboseÐÑводиÑÑ Ð±Ð¾Ð»ÑÑе ÑообÑений. Ð ÑаÑÑноÑÑи, бÑдÑÑ Ð²ÑводиÑÑÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¾ пÑовеÑке каждого оÑноÑениÑ, а Ñакже ÑвелиÑиÑÑÑ ÑÑÐ¾Ð²ÐµÐ½Ñ Ð´ÐµÑализаÑии оÑибок ÑеÑвеÑа.
-V--versionÐÑвеÑÑи веÑÑÐ¸Ñ pg_amcheck и завеÑÑиÑÑÑÑ.
--install-missing--install-missing=ÑÑ ÐµÐ¼Ð°Ð£ÑÑановиÑÑ Ð²Ñе оÑÑÑÑÑÑвÑÑÑие ÑаÑÑиÑениÑ, коÑоÑÑе ÑÑебÑÑÑÑÑ Ð´Ð»Ñ Ð¿ÑовеÑки баз(Ñ) даннÑÑ . ÐÑли ÑÑо ÑаÑÑиÑение не бÑло ÑÑÑановлено, его обÑекÑÑ Ð±ÑдÑÑ Ð¿Ð¾Ð¼ÐµÑÐµÐ½Ñ Ð² заданнÑÑ
ÑÑ ÐµÐ¼Ñили, еÑли она не задана, в ÑÑ ÐµÐ¼Ñpg_catalog.РнаÑÑоÑÑее вÑÐµÐ¼Ñ Ð´Ð»Ñ ÑабоÑÑ pg_amcheck ÑÑебÑеÑÑÑ ÑолÑко ÑаÑÑиÑение amcheck.
-?--helpÐÑвеÑÑи ÑпÑÐ°Ð²ÐºÑ Ð¾Ð± аÑгÑменÑÐ°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки pg_amcheck и завеÑÑиÑÑÑÑ.
ÐÑимеÑаниÑ
ÐÑогÑамма pg_amcheck пÑедназнаÑена Ð´Ð»Ñ ÑабоÑÑ Ñ PostgreSQL 14.0 и вÑÑе.