pg_dumpall
pg_dumpall â вÑгÑÑзиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð±Ð°Ð· даннÑÑ Postgres Pro в Ñайл ÑкÑипÑа
СинÑакÑиÑ
pg_dumpall [паÑамеÑÑ-подклÑÑениÑ...] [паÑамеÑÑ...]
ÐпиÑание
УÑилиÑа pg_dumpall пÑедназнаÑена Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи («вÑгÑÑзки») вÑÐµÑ Ð±Ð°Ð· даннÑÑ ÐºÐ»Ð°ÑÑеÑа Postgres Pro в один Ñайл в ÑоÑмаÑе ÑкÑипÑа. ÐÑÐ¾Ñ Ñайл ÑодеÑÐ¶Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SQL, Ñак ÑÑо пеÑедав его на Ð²Ñ Ð¾Ð´ psql, можно воÑÑÑановиÑÑ Ð²Ñе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ЧÑÐ¾Ð±Ñ ÐµÐ³Ð¾ ÑÑоÑмиÑоваÑÑ, pg_dumpall вÑзÑÐ²Ð°ÐµÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² клаÑÑеÑе pg_dump и дополниÑелÑно вÑгÑÑÐ¶Ð°ÐµÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑнÑе обÑекÑÑ, обÑие Ð´Ð»Ñ Ð²ÑÐµÑ Ð±Ð°Ð· даннÑÑ . (УÑилиÑа pg_dump не ÑÐ¾Ñ ÑанÑÐµÑ ÑÑи обÑекÑÑ.) РнаÑÑоÑÑее вÑемÑ, к Ñаким обÑекÑам оÑноÑÑÑÑÑ Ð³ÑÑппÑ, полÑзоваÑели и ÑаблиÑнÑе пÑоÑÑÑанÑÑва, а Ñакже Ñакие ÑвойÑÑва, как пÑава доÑÑÑпа, коÑоÑÑе пÑименÑÑÑÑÑ Ðº базам даннÑÑ Ð² Ñелом.
Так как ÑÑилиÑа pg_dumpall ÑиÑÐ°ÐµÑ ÑаблиÑÑ Ð¸Ð· вÑÐµÑ Ð±Ð°Ð· даннÑÑ , Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ ÑодеÑжимого баз запÑÑкаÑÑ ÐµÑ, как пÑавило, нÑжно Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ ÑÑпеÑполÑзоваÑелÑ. ЧÑÐ¾Ð±Ñ Ð²Ð¿Ð¾ÑледÑÑвии вÑполниÑÑ ÑÐ¾Ñ ÑанÑннÑй ÑкÑипÑ, Ñакже Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ имеÑÑ Ð¿Ñава ÑÑпеÑполÑзоваÑелÑ, позволÑÑÑие ÑоздаваÑÑ Ð¿Ð¾Ð»ÑзоваÑелей, гÑÑÐ¿Ð¿Ñ Ð¸ ÑобÑÑвенно Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ .
ÐенеÑиÑÑемÑй SQL-ÑкÑÐ¸Ð¿Ñ Ð·Ð°Ð¿Ð¸ÑÑваеÑÑÑ Ð² ÑÑандаÑÑное ÑÑÑÑойÑÑво вÑвода. ЧÑÐ¾Ð±Ñ Ð¿ÐµÑенапÑавиÑÑ ÐµÐ³Ð¾ в Ñайл, воÑполÑзÑйÑеÑÑ Ð¿Ð°ÑамеÑÑом -f/--file или опеÑаÑоÑами оболоÑки.
УÑилиÑе pg_dumpall ÑÑебÑеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑаÑÑÑÑ Ðº ÑеÑвеÑÑ Postgres Pro неÑколÑко Ñаз (к каждой базе по оÑделÑноÑÑи). ÐÑли Ð²Ñ Ð¿ÑоÑ
одиÑе пÑовеÑÐºÑ Ð¿Ð¾Ð´Ð»Ð¸Ð½Ð½Ð¾ÑÑи по паÑолÑ, вам пÑидÑÑÑÑ ÐºÐ°Ð¶Ð´Ñй Ñаз вводиÑÑ Ð¿Ð°ÑолÑ. ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ ÑÑого, Ñдобно имеÑÑ Ñайл ~/.pgpass. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 31.15.
ÐаÑамеÑÑÑ
ÐаÑамеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑодеÑжимÑм и ÑоÑмаÑом вÑвода.
-a--data-onlyÐÑгÑÑжаÑÑ ÑолÑко даннÑе, без ÑÑ ÐµÐ¼Ñ (опÑеделений даннÑÑ ).
-c--cleanÐобавиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SQL Ð´Ð»Ñ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ (DROP) баз даннÑÑ Ð¿ÐµÑед командами, ÑоздаÑÑими Ð¸Ñ . Рдополнение к ним добавлÑÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
DROPÐ´Ð»Ñ Ñолей и ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв.-fимÑ_Ñайла--file=имÑ_ÑайлаÐапÑавиÑÑ Ð²Ñвод в ÑказаннÑй Ñайл. ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑÑен, ÑкÑÐ¸Ð¿Ñ Ð·Ð°Ð¿Ð¸ÑÑваеÑÑÑ Ð² ÑÑандаÑÑнÑй вÑвод.
-g--globals-onlyÐÑгÑÑжаÑÑ ÑолÑко глобалÑнÑе обÑекÑÑ (Ñоли и ÑаблиÑнÑе пÑоÑÑÑанÑÑва), без баз даннÑÑ .
-o--oidsÐÑгÑÑжаÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑоÑÑ Ð¾Ð±ÑекÑов (OIDs) вмеÑÑе Ñ Ð´Ð°Ð½Ð½Ñми ÑаблиÑ. ÐÑполÑзÑйÑе ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ, еÑли в пÑиложении еÑÑÑ ÑÑÑлки на OID, напÑÐ¸Ð¼ÐµÑ Ð²Ð¾ внеÑÐ½Ð¸Ñ ÐºÐ»ÑÑÐ°Ñ . РпÑоÑивном ÑлÑÑае, ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð»ÑÑÑе не иÑполÑзоваÑÑ.
-O--no-ownerÐе генеÑиÑоваÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, ÑÑÑанавливаÑÑие владение обÑекÑами, как в иÑÑ Ð¾Ð´Ð½Ð¾Ð¹ базе даннÑÑ . Ðо ÑмолÑаниÑ, pg_dumpall генеÑиÑÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
ALTER OWNERилиSET SESSION AUTHORIZATION, воÑÑÑанавливаÑÑие иÑÑ Ð¾Ð´Ð½ÑÑ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑев Ð´Ð»Ñ ÑоздаваемÑÑ ÑлеменÑов ÑÑ ÐµÐ¼Ñ. Ðднако вÑполниÑÑ ÑÑи ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ ÑÐ¼Ð¾Ð¶ÐµÑ ÑолÑко ÑÑпеÑполÑзоваÑÐµÐ»Ñ (или полÑзоваÑелÑ, владеÑÑий вÑеми обÑекÑами, ÑоздаваемÑми ÑкÑипÑом). ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑкÑипÑ, коÑоÑÑй ÑÐ¼Ð¾Ð¶ÐµÑ Ð²Ð¾ÑÑÑановиÑÑ Ð»Ñбой полÑзоваÑÐµÐ»Ñ (но пÑи ÑÑом он ÑÑÐ°Ð½ÐµÑ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑем вÑÐµÑ Ð¾Ð±ÑекÑов), иÑполÑзÑеÑÑÑ-O.-r--roles-onlyÐÑгÑÑжаÑÑ ÑолÑко Ñоли, без баз даннÑÑ Ð¸ ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв.
-s--schema-onlyÐÑгÑÑжаÑÑ ÑолÑко опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¾Ð±ÑекÑов (ÑÑ ÐµÐ¼Ñ), без даннÑÑ .
-SимÑ_полÑзоваÑелÑ--superuser=имÑ_полÑзоваÑелÑУказаÑÑ ÑÑпеÑполÑзоваÑелÑ, коÑоÑÑй бÑÐ´ÐµÑ Ð¸ÑполÑзоваÑÑÑÑ Ð´Ð»Ñ Ð¾ÑклÑÑÐµÐ½Ð¸Ñ ÑÑиггеÑов. ÐаÑамеÑÑ Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение ÑолÑко вмеÑÑе Ñ
--disable-triggers. ÐбÑÑно его лÑÑÑе не иÑполÑзоваÑÑ, а запÑÑкаÑÑ Ð¿Ð¾Ð»ÑÑеннÑй ÑкÑÐ¸Ð¿Ñ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ ÑÑпеÑполÑзоваÑелÑ.-t--tablespaces-onlyÐÑгÑÑжаÑÑ ÑолÑко ÑаблиÑнÑе пÑоÑÑÑанÑÑва, без баз даннÑÑ Ð¸ Ñолей.
-v--verboseÐклÑÑиÑÑ Ñежим подÑобнÑÑ ÑообÑений. Ð ÑÑом Ñежиме pg_dumpall запиÑÑÐ²Ð°ÐµÑ Ð² вÑÑ Ð¾Ð´Ð½Ð¾Ð¹ Ñайл вÑÐµÐ¼Ñ Ð½Ð°Ñала/завеÑÑÐµÐ½Ð¸Ñ Ð²ÑгÑÑзки, а в ÑÑандаÑÑнÑй канал оÑибок â ÑообÑÐµÐ½Ð¸Ñ Ð¾ пÑоÑеÑÑе. ÐÑи ÑÑом подÑобнÑе ÑообÑÐµÐ½Ð¸Ñ Ð±ÑÐ´ÐµÑ Ñакже вÑводиÑÑ pg_dump.
-V--versionСообÑиÑÑ Ð²ÐµÑÑÐ¸Ñ pg_dumpall и завеÑÑиÑÑÑÑ.
-x--no-privileges--no-aclÐе вÑгÑÑжаÑÑ Ð¿Ñава доÑÑÑпа (ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ GRANT/REVOKE).
--binary-upgradeÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÑедназнаÑен Ð´Ð»Ñ ÑÑÐ¸Ð»Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÑеÑвеÑа. ÐÑполÑзование Ð´Ð»Ñ Ð¸Ð½ÑÑ Ñелей не ÑекомендÑеÑÑÑ Ð¸ не поддеÑживаеÑÑÑ. Ðоведение паÑамеÑÑа Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¾ в поÑледÑÑÑÐ¸Ñ Ð²ÐµÑÑиÑÑ Ð±ÐµÐ· пÑедваÑиÑелÑного ÑведомлениÑ.
--column-inserts--attribute-insertsÐÑгÑÑжаÑÑ Ð´Ð°Ð½Ð½Ñе в виде команд
INSERTÑ Ñвно задаваемÑми именами ÑÑолбÑов (INSERT INTO). ÐÑи ÑÑом воÑÑÑановление бÑÐ´ÐµÑ Ð¾ÑÐµÐ½Ñ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ñм; в оÑновном ÑÑо пÑименÑеÑÑÑ Ð´Ð»Ñ Ð²ÑгÑÑзки даннÑÑ , коÑоÑÑе заÑем бÑдÑÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð½Ðµ в Postgres Pro.ÑаблиÑа(ÑÑолбеÑ, ...) VALUES ...--disable-dollar-quotingÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð·Ð°Ð¿ÑеÑÐ°ÐµÑ Ð·Ð°ÐºÐ»ÑÑаÑÑ Ð² доллаÑÑ Ñело ÑÑнкÑий, ÑÑо оÑÑавлÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ ÑолÑко заклÑÑаÑÑ Ð¸Ñ Ð² кавÑÑки, пÑименÑÑ ÑÑандаÑÑнÑй ÑинÑакÑÐ¸Ñ SQL.
--disable-triggersÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð´ÐµÐ¹ÑÑвÑÐµÑ ÑолÑко пÑи вÑгÑÑзке Ð¾Ð´Ð½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ . С ним pg_dumpall добавлÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, оÑклÑÑаÑÑие ÑÑиггеÑÑ Ð² ÑелевÑÑ ÑаблиÑÐ°Ñ Ð½Ð° вÑÐµÐ¼Ñ Ð·Ð°Ð³ÑÑзки даннÑÑ . ÐÑполÑзÑйÑе его, еÑли в ваÑÐ¸Ñ ÑаблиÑÐ°Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð¿ÑовеÑки ÑÑÑлоÑной ÑелоÑÑноÑÑи или дÑÑгие ÑÑиггеÑÑ, коÑоÑÑе Ð²Ñ Ð½Ðµ Ñ Ð¾Ñели Ð±Ñ Ð²ÑполнÑÑÑ Ð² пÑоÑеÑÑе загÑÑзки даннÑÑ .
РнаÑÑоÑÑее вÑÐµÐ¼Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, генеÑиÑÑемÑе Ñ Ð¿Ð°ÑамеÑÑом
--disable-triggers, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸ÑполнÑÑÑÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ ÑÑпеÑполÑзоваÑелÑ. Таким обÑазом, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ Ñакже пеÑедаваÑÑ Ñлаг-S, либо пÑи воÑÑÑановлении вÑполнÑÑÑ ÑкÑÐ¸Ð¿Ñ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ ÑÑпеÑполÑзоваÑелÑ.--if-existsÐÑполÑзоваÑÑ ÑÑловнÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ (Ñ. е. добавлÑÑÑ Ð¿Ñедложение
IF EXISTS) пÑи оÑиÑÑке Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸ дÑÑÐ³Ð¸Ñ Ð¾Ð±ÑекÑов. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÑинимаеÑÑÑ, ÑолÑко еÑли Ñакже Ñказан паÑамеÑÑ--clean.--insertsÐÑгÑÑжаÑÑ Ð´Ð°Ð½Ð½Ñе в виде команд
INSERT, а неCOPY. ÐÑи ÑÑом воÑÑÑановление знаÑиÑелÑно замедлиÑÑÑ; в оÑновном ÑÑо пÑименÑеÑÑÑ Ð´Ð»Ñ Ð²ÑгÑÑзки даннÑÑ , коÑоÑÑе заÑем бÑдÑÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð½Ðµ в Postgres Pro. ÐамеÑÑÑе, ÑÑо воÑÑÑановление Ð¼Ð¾Ð¶ÐµÑ Ð²Ð¾Ð²Ñе не вÑполниÑÑÑÑ Ð¿Ñи изменении поÑÑдка ÑÑолбÑов в ÑаблиÑÐ°Ñ . Ð ÑÑом ÑмÑÑле паÑамеÑÑ--column-insertsбезопаÑнее, но воÑÑÑановление бÑÐ´ÐµÑ ÐµÑÑ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½ÐµÐµ.--lock-wait-timeout=вÑемÑ_ожиданиÑÐе ждаÑÑ Ð±ÐµÑконеÑно полÑÑÐµÐ½Ð¸Ñ ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¸Ñовок ÑÐ°Ð±Ð»Ð¸Ñ Ð² наÑале пÑоÑедÑÑÑ Ð²ÑгÑÑзки. ÐмеÑÑо ÑÑого вÑдаÑÑ Ð¾ÑибкÑ, еÑли не ÑдаÑÑÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸ÑоваÑÑ ÑаблиÑÑ Ð·Ð° Ñказанное
вÑемÑ_ожиданиÑ. ÐÑо вÑÐµÐ¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ Ð² лÑбом из ÑоÑмаÑов, пÑинимаемÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹SET statement_timeout. ÐопÑÑÑимÑе знаÑÐµÐ½Ð¸Ñ Ð·Ð°Ð²Ð¸ÑÑÑ Ð¾Ñ Ð²ÐµÑÑии ÑеÑвеÑа, вÑгÑÑжаÑÑего даннÑе, но колиÑеÑÑво миллиÑекÑнд в виде Ñелого ÑиÑла пÑинимаÑÑ Ð²Ñе веÑÑии, наÑÐ¸Ð½Ð°Ñ Ñ 7.3. Ðолее Ñанние веÑÑии игноÑиÑÑÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ.--no-security-labelsÐе вÑгÑÑжаÑÑ Ð¼ÐµÑки безопаÑноÑÑи.
--no-tablespacesÐе вÑводиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, ÑоздаÑÑие или вÑбиÑаÑÑие ÑаблиÑнÑе пÑоÑÑÑанÑÑва Ð´Ð»Ñ Ð¾Ð±ÑекÑов. С ÑÑим паÑамеÑÑом вÑе обÑекÑÑ Ð±ÑдÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ñ Ð² пÑоÑÑÑанÑÑве по ÑмолÑаниÑ, ÑÑÑановленном во вÑÐµÐ¼Ñ Ð²Ð¾ÑÑÑановлениÑ.
--no-unlogged-table-dataÐе вÑгÑÑжаÑÑ ÑодеÑжимое нежÑÑналиÑÑемÑÑ ÑаблиÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ðµ влиÑÐµÑ Ð½Ð° Ñо, как вÑгÑÑжаÑÑÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑÐ¸Ñ ÑÐ°Ð±Ð»Ð¸Ñ (ÑÑ ÐµÐ¼Ð°); он оÑклÑÑÐ°ÐµÑ ÑолÑко вÑгÑÑÐ·ÐºÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð· Ð½Ð¸Ñ .
--quote-all-identifiersÐÑинÑдиÑелÑно ÑкÑаниÑоваÑÑ Ð²Ñе иденÑиÑикаÑоÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑекомендÑеÑÑÑ Ð¿Ñи вÑгÑÑзке базÑ, когда оÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ ÑеÑвеÑа PostgreSQL, Ñ ÐºÐ¾ÑоÑого вÑгÑÑжаеÑÑÑ Ð±Ð°Ð·Ð°, оÑлиÑаеÑÑÑ Ð¾Ñ Ð²ÐµÑÑии pg_dumpall, или когда вÑгÑÑÐ¶ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð¿ÑедназнаÑена Ð´Ð»Ñ Ð·Ð°Ð³ÑÑзки на ÑеÑвеÑе Ñ Ð´ÑÑгой оÑновной веÑÑией. Ðо ÑмолÑÐ°Ð½Ð¸Ñ pg_dumpall ÑкÑаниÑÑÐµÑ ÑолÑко Ñе иденÑиÑикаÑоÑÑ, коÑоÑÑе ÑвлÑÑÑÑÑ Ð·Ð°ÑезеÑвиÑованнÑми Ñловами в ÑобÑÑвенной оÑновной веÑÑии. Ðногда ÑÑо пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº пÑоблемам ÑовмеÑÑимоÑÑи Ñ ÑеÑвеÑами дÑÑÐ³Ð¸Ñ Ð²ÐµÑÑий, в коÑоÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво заÑезеÑвиÑованнÑÑ Ñлов Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÑколÑко дÑÑгим. ÐÑименение паÑамеÑÑа
--quote-all-identifiersпÑедоÑвÑаÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ñе пÑоблемÑ, Ñеной ÑÑ ÑдÑÐµÐ½Ð¸Ñ ÑиÑаемоÑÑи ÑкÑипÑа Ñ Ð²ÑгÑÑженнÑми даннÑми.--use-set-session-authorizationÐÑводиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
SET SESSION AUTHORIZATION, ÑооÑвеÑÑÑвÑÑÑие ÑÑандаÑÑÑ, вмеÑÑоALTER OWNER, Ð´Ð»Ñ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑев обÑекÑов. Ð ÑезÑлÑÑаÑе вÑгÑÑженнÑй ÑкÑÐ¸Ð¿Ñ Ð±ÑÐ´ÐµÑ Ð±Ð¾Ð»ÐµÐµ ÑÑандаÑÑизиÑованнÑм, но Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ воÑÑÑановиÑÑÑÑ ÐºÐ¾ÑÑекÑно, в завиÑимоÑÑи Ð¾Ñ Ð¸ÑÑоÑии обÑекÑов.-?--helpÐоказаÑÑ ÑпÑÐ°Ð²ÐºÑ Ð¿Ð¾ аÑгÑменÑам командной ÑÑÑоки pg_dumpall и завеÑÑиÑÑÑÑ.
Ðалее опиÑÐ°Ð½Ñ Ð¿Ð°ÑамеÑÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑением.
-dÑÑÑока_подклÑÑениÑ--dbname=ÑÑÑока_подклÑÑениÑУказÑÐ²Ð°ÐµÑ Ð¿Ð°ÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº ÑеÑвеÑÑ Ð² ÑоÑмаÑе ÑÑÑоки подклÑÑениÑ. См. ÐодÑаздел 31.1.1 Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ подÑобной инÑоÑмаÑии.
ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ð°Ð·ÑваеÑÑÑ
--dbnameÐ´Ð»Ñ ÑоглаÑованноÑÑи Ñ Ð´ÑÑгими клиенÑÑкими пÑиложениÑми, но Ñак как pg_dumpall подклÑÑаеÑÑÑ Ð½Ðµ к одной базе даннÑÑ , Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð² ÑÑÑоке подклÑÑÐµÐ½Ð¸Ñ Ð¸Ð³Ð½Ð¾ÑиÑÑеÑÑÑ. ЧÑÐ¾Ð±Ñ ÑказаÑÑ Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , ÑеÑез подклÑÑение к коÑоÑой бÑдÑÑ Ð²ÑгÑÑжаÑÑÑÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑнÑе обÑекÑÑ Ð¸ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ Ð´ÑÑгие вÑгÑÑжаемÑе базÑ, воÑполÑзÑйÑеÑÑ Ð¿Ð°ÑамеÑÑом-l.-hÑеÑвеÑ--host=ÑеÑвеÑУказÑÐ²Ð°ÐµÑ Ð¸Ð¼Ñ ÐºÐ¾Ð¼Ð¿ÑÑÑеÑа, на коÑоÑом ÑабоÑÐ°ÐµÑ ÑеÑÐ²ÐµÑ Ð±Ð°Ð· даннÑÑ . ÐÑли знаÑение наÑинаеÑÑÑ Ñ ÐºÐ¾Ñой ÑеÑÑÑ, оно опÑеделÑÐµÑ ÐºÐ°Ñалог Unix-ÑокеÑа. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ Ð±ÐµÑÑÑÑÑ Ð¸Ð· пеÑеменной окÑÑжениÑ
PGHOST, еÑли она ÑÑÑановлена. РпÑоÑивном ÑлÑÑае вÑполнÑеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение к Unix-ÑокеÑÑ.-lимÑ_бд--database=имÑ_бдÐадаÑÑ Ð¸Ð¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , ÑеÑез подклÑÑение к коÑоÑой бÑдÑÑ Ð²ÑгÑÑжаÑÑÑÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑнÑе обÑекÑÑ Ð¸ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑÑ Ð´ÑÑгие вÑгÑÑжаемÑе базÑ. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑеÑÑÑ Ð±Ð°Ð·Ð°
postgres, а в ÑлÑÑае ÐµÑ Ð¾ÑÑÑÑÑÑÐ²Ð¸Ñ âtemplate1.-pпоÑÑ--port=поÑÑУказÑÐ²Ð°ÐµÑ TCP-поÑÑ Ð¸Ð»Ð¸ ÑаÑÑиÑение Ñайла локалÑного Unix-ÑокеÑа, ÑеÑез коÑоÑÑй ÑеÑÐ²ÐµÑ Ð¿ÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð¿ÑеделÑеÑÑÑ Ð¿ÐµÑеменной окÑÑжениÑ
PGPORT, еÑли она ÑÑÑановлена, либо ÑиÑлом, заданнÑм пÑи компилÑÑии.-UимÑ_полÑзоваÑелÑ--username=имÑ_полÑзоваÑелÑÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ, под коÑоÑÑм пÑоизводиÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑение.
-w--no-passwordÐе вÑдаваÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð½Ð° ввод паÑолÑ. ÐÑли ÑеÑÐ²ÐµÑ ÑÑебÑÐµÑ Ð°ÑÑенÑиÑикаÑÐ¸Ñ Ð¿Ð¾ паÑÐ¾Ð»Ñ Ð¸ паÑÐ¾Ð»Ñ Ð½Ðµ доÑÑÑпен Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð´ÑÑÐ³Ð¸Ñ ÑÑедÑÑв, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº Ñайл
.pgpass, попÑÑка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ ÑдаÑÑÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½ в пакеÑнÑÑ Ð·Ð°Ð´Ð°Ð½Ð¸ÑÑ Ð¸ ÑкÑипÑÐ°Ñ , где Ð½ÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑ, коÑоÑÑй Ð²Ð²Ð¾Ð´Ð¸Ñ Ð¿Ð°ÑолÑ.-W--passwordÐÑинÑдиÑелÑно запÑаÑиваÑÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ð¿ÐµÑед подклÑÑением к базе даннÑÑ .
ÐÑо неÑÑÑеÑÑвеннÑй паÑамеÑÑ, Ñак как pg_dumpall запÑаÑÐ¸Ð²Ð°ÐµÑ Ð¿Ð°ÑÐ¾Ð»Ñ Ð°Ð²ÑомаÑиÑеÑки, еÑли ÑеÑÐ²ÐµÑ Ð¿ÑовеÑÑÐµÑ Ð¿Ð¾Ð´Ð»Ð¸Ð½Ð½Ð¾ÑÑÑ Ð¿Ð¾ паÑолÑ. Ðднако, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð½ÑÑÑ ÑÑо, pg_dumpall лиÑний Ñаз подклÑÑаеÑÑÑ Ðº ÑеÑвеÑÑ. ÐоÑÑÐ¾Ð¼Ñ Ð¸Ð½Ð¾Ð³Ð´Ð° Ð¸Ð¼ÐµÐµÑ ÑмÑÑл ввеÑÑи
-W, ÑÑÐ¾Ð±Ñ Ð¸ÑклÑÑиÑÑ ÑÑÑ Ð½ÐµÐ½ÑжнÑÑ Ð¿Ð¾Ð¿ÑÑÐºÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑениÑ.ÐамеÑÑÑе, ÑÑо паÑÐ¾Ð»Ñ Ð±ÑÐ´ÐµÑ Ð·Ð°Ð¿ÑаÑиваÑÑÑÑ Ð¿Ð¾Ð²ÑоÑно Ð´Ð»Ñ Ð²ÑгÑÑзки каждой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐоÑÑÐ¾Ð¼Ñ Ð¾Ð±ÑÑно лÑÑÑе наÑÑÑоиÑÑ Ñайл
~/.pgpass, и не вводиÑÑ Ð¿Ð°ÑÐ¾Ð»Ñ ÐºÐ°Ð¶Ð´Ñй Ñаз вÑÑÑнÑÑ.--role=Ð¸Ð¼Ñ ÑолиÐадаÑÑ Ð¸Ð¼Ñ Ñоли, коÑоÑÐ°Ñ Ð±ÑÐ´ÐµÑ Ð¾ÑÑÑеÑÑвлÑÑÑ Ð²ÑгÑÑзкÑ. ÐолÑÑив ÑÑо имÑ, pg_dumpall вÑполниÑ
SET ROLEимÑ_ÑолипоÑле подклÑÑÐµÐ½Ð¸Ñ Ðº базе даннÑÑ . ÐÑо полезно, когда пÑÐ¾Ñ Ð¾Ð´ÑÑий пÑовеÑÐºÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ (ÑказаннÑй в-U) не Ð¸Ð¼ÐµÐµÑ Ð¿Ñав, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð´Ð»Ñ pg_dumpall, но Ð¼Ð¾Ð¶ÐµÑ Ð¿ÐµÑеклÑÑиÑÑÑÑ Ð½Ð° ÑолÑ, наделÑннÑÑ ÑÑими пÑавами. РнекоÑоÑÑÑ Ð¾ÐºÑÑжениÑÑ Ð¿Ñавила запÑеÑаÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑаÑÑÑÑ Ðº ÑеÑвеÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно ÑÑпеÑполÑзоваÑелÑ, и ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»ÑÐµÑ Ð²ÑполниÑÑ Ð²ÑгÑÑзкÑ, не наÑÑÑÐ°Ñ Ð¸Ñ .
ÐеÑеменнÑе окÑÑжениÑ
PGHOSTPGOPTIONSPGPORTPGUSERÐаÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ
ÐÑа ÑÑилиÑа, как и болÑÑинÑÑво дÑÑÐ³Ð¸Ñ ÑÑÐ¸Ð»Ð¸Ñ Postgres Pro, Ñакже иÑполÑзÑÐµÑ Ð¿ÐµÑеменнÑе ÑÑедÑ, поддеÑживаемÑе libpq (Ñм. Раздел 31.14).
ÐамеÑаниÑ
Так как pg_dumpall внÑÑÑи ÑÐµÐ±Ñ Ð²ÑзÑÐ²Ð°ÐµÑ pg_dump, ÑаÑÑÑ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑиÑеÑÐºÐ¸Ñ ÑообÑений бÑÐ´ÐµÑ Ð¾ÑноÑиÑÑÑÑ Ðº pg_dump.
ÐоÑле воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ ÑмÑÑл запÑÑÑиÑÑ ANALYZE Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑимизаÑÐ¾Ñ Ð¿Ð¾Ð»ÑÑил акÑÑалÑнÑÑ ÑÑаÑиÑÑикÑ. Также можно запÑÑÑиÑÑ Ð°Ð½Ð°Ð»Ð¸Ð· Ð´Ð»Ñ Ð²ÑеÑ
баз даннÑÑ
, вÑполнив ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ vacuumdb -a -z.
ÐÑи иÑполÑзовании pg_dumpall ÑÑебÑеÑÑÑ, ÑÑÐ¾Ð±Ñ Ð²Ñе Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе каÑалоги ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв ÑÑÑеÑÑвовали до воÑÑÑановлениÑ; в пÑоÑивном ÑлÑÑае Ñоздание баз даннÑÑ Ð² неÑÑандаÑÑном ÑазмеÑении завеÑÑиÑÑÑ Ð¾Ñибкой.
ÐÑимеÑÑ
ÐÑгÑÑзка вÑÐµÑ Ð±Ð°Ð· даннÑÑ :
$pg_dumpall > db.out
ÐагÑÑзиÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð· ÑÑого Ñайла можно Ñак:
$psql -f db.out postgres
(Ркакой базе даннÑÑ Ð²Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑаеÑеÑÑ, здеÑÑ Ð½Ðµ важно, Ñак как ÑкÑипÑ, ÑозданнÑй ÑÑилиÑой pg_dumpall, бÑÐ´ÐµÑ ÑодеÑжаÑÑ Ð²Ñе командÑ, ÑÑебÑÑÑиеÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑÐ¾Ñ ÑанÑннÑÑ Ð±Ð°Ð· даннÑÑ Ð¸ подклÑÑÐµÐ½Ð¸Ñ Ðº ним.)
См. Ñакже
ÐбÑаÑиÑеÑÑ Ðº опиÑÐ°Ð½Ð¸Ñ pg_dump, ÑÑÐ¾Ð±Ñ ÑзнаÑÑ Ð¾Ð± ÑÑловиÑÑ , пÑи коÑоÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÑÑÑ Ð¿ÑоблемÑ.