pg_dumpall
pg_dumpall â вÑгÑÑзиÑÑ ÐºÐ»Ð°ÑÑÐµÑ Ð±Ð°Ð· даннÑÑ Postgres Pro в Ñайл ÑкÑипÑа
СинÑакÑиÑ
pg_dumpall [паÑамеÑÑ-подклÑÑениÑ...] [паÑамеÑÑ...]
ÐпиÑание #
УÑилиÑа pg_dumpall пÑедназнаÑена Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи («вÑгÑÑзки») вÑÐµÑ Ð±Ð°Ð· даннÑÑ ÐºÐ»Ð°ÑÑеÑа Postgres Pro в один Ñайл в ÑоÑмаÑе ÑкÑипÑа. ÐÑÐ¾Ñ Ñайл ÑодеÑÐ¶Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SQL, Ñак ÑÑо пеÑедав его на Ð²Ñ Ð¾Ð´ psql, можно воÑÑÑановиÑÑ Ð²Ñе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐÐ»Ñ ÑоÑмиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑого Ñайла вÑзÑваеÑÑÑ pg_dump Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² клаÑÑеÑе. pg_dumpall Ñакже вÑгÑÑÐ¶Ð°ÐµÑ Ð³Ð»Ð¾Ð±Ð°Ð»ÑнÑе обÑекÑÑ, обÑие Ð´Ð»Ñ Ð²ÑÐµÑ Ð±Ð°Ð· даннÑÑ , а именно Ñоли, ÑаблиÑнÑе пÑоÑÑÑанÑÑва и пÑава, вÑданнÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑов конÑигÑÑаÑии. (ÐÑогÑамма pg_dump не ÑÐ¾Ñ ÑанÑÐµÑ ÑÑи обÑекÑÑ.)
Так как ÑÑилиÑа pg_dumpall ÑиÑÐ°ÐµÑ ÑаблиÑÑ Ð¸Ð· вÑÐµÑ Ð±Ð°Ð· даннÑÑ , Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ ÑодеÑжимого баз запÑÑкаÑÑ ÐµÑ, как пÑавило, нÑжно Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ ÑÑпеÑполÑзоваÑелÑ. Также пÑава ÑÑпеÑполÑзоваÑÐµÐ»Ñ ÑÑебÑÑÑÑÑ Ð¿Ñи поÑледÑÑÑем вÑполнении ÑÐ¾Ñ ÑанÑнного ÑкÑипÑа, ÑÑÐ¾Ð±Ñ Ð¾Ð½ Ñмог добавиÑÑ Ñоли и ÑоздаÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ .
ÐенеÑиÑÑемÑй SQL-ÑкÑÐ¸Ð¿Ñ Ð·Ð°Ð¿Ð¸ÑÑваеÑÑÑ Ð² ÑÑандаÑÑное ÑÑÑÑойÑÑво вÑвода. ЧÑÐ¾Ð±Ñ Ð¿ÐµÑенапÑавиÑÑ ÐµÐ³Ð¾ в Ñайл, воÑполÑзÑйÑеÑÑ Ð¿Ð°ÑамеÑÑом -f/--file или опеÑаÑоÑами оболоÑки.
УÑилиÑе pg_dumpall ÑÑебÑеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑаÑÑÑÑ Ðº ÑеÑвеÑÑ Postgres Pro неÑколÑко Ñаз (к каждой базе по оÑделÑноÑÑи). ÐÑли Ð²Ñ Ð¿ÑоÑ
одиÑе пÑовеÑÐºÑ Ð¿Ð¾Ð´Ð»Ð¸Ð½Ð½Ð¾ÑÑи по паÑолÑ, вам пÑидÑÑÑÑ ÐºÐ°Ð¶Ð´Ñй Ñаз вводиÑÑ Ð¿Ð°ÑолÑ. ЧÑÐ¾Ð±Ñ Ð¸Ð·Ð±ÐµÐ¶Ð°ÑÑ ÑÑого, Ñдобно имеÑÑ Ñайл ~/.pgpass. Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº РазделÑ 33.16.
ÐÑедÑпÑеждение
ÐÑи воÑÑÑановлении вÑгÑÑзки в Ñелевой ÑоÑке вÑполнÑеÑÑÑ Ð¿ÑоизволÑнÑй код по вÑбоÑÑ ÑÑпеÑполÑзоваÑелей иÑÑ Ð¾Ð´Ð½Ð¾Ð¹ ÑоÑки. ÐÐ»Ñ ÑаÑÑиÑнÑÑ Ð²ÑгÑÑзок и ÑаÑÑиÑнÑÑ Ð²Ð¾ÑÑÑановлений Ñакого огÑаниÑÐµÐ½Ð¸Ñ Ð½ÐµÑ. ÐÑли ÑÑпеÑполÑзоваÑели иÑÑ Ð¾Ð´Ð½Ð¾Ð¹ ÑоÑки не ÑвлÑÑÑÑÑ Ð´Ð¾Ð²ÐµÑеннÑми, вÑгÑÑжаемÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ SQL нÑжно пÑовеÑÑÑÑ Ð¿ÐµÑед воÑÑÑановлением. ÐбÑаÑиÑе внимание, ÑÑо клиенÑÑ, вÑполнÑÑÑÐµÐ¼Ñ Ð²ÑгÑÑÐ·ÐºÑ Ð¸ воÑÑÑановление, не нÑжно довеÑÑÑÑ ÑÑпеÑполÑзоваÑелÑм иÑÑ Ð¾Ð´Ð½Ð¾Ð¹ или Ñелевой ÑоÑки.
ÐаÑамеÑÑÑ
ÐаÑамеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑодеÑжимÑм и ÑоÑмаÑом вÑвода.
-a--data-onlyÐÑгÑÑжаÑÑ ÑолÑко даннÑе, без ÑÑ ÐµÐ¼Ñ (опÑеделений даннÑÑ ).
-c--cleanÐÑводиÑÑ SQL-ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð´Ð»Ñ
DROPвÑÐµÑ Ð²ÑгÑÑженнÑÑ Ð±Ð°Ð· даннÑÑ , Ñолей и ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв пеÑед Ð¸Ñ Ð²Ð¾ÑÑозданием. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½, когда пÑи воÑÑÑановлении Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пеÑезапиÑаÑÑ ÑÑÑеÑÑвÑÑÑий клаÑÑеÑ. Ðез дополниÑелÑного ÑказаниÑ--if-existsпÑи ÑÑом могÑÑ Ð²ÑдаваÑÑÑÑ Ð±ÐµÐ·Ð²ÑеднÑе ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑÐ¸Ð±ÐºÐ°Ñ , еÑли ÑÐ°ÐºÐ¸Ñ Ð¾Ð±ÑекÑов не окажеÑÑÑ Ð² Ñелевой базе даннÑÑ .-EкодиÑовка--encoding=кодиÑовкаСоздаÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð² заданной кодиÑовке. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÐºÐ¾Ð¿Ð¸Ñ ÑоздаÑÑÑÑ Ð² кодиÑовке Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . (ÐÑÑгой ÑпоÑоб доÑÑиÑÑ Ñого же ÑезÑлÑÑаÑа â задаÑÑ Ð¶ÐµÐ»Ð°ÐµÐ¼ÑÑ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²ÐºÑ Ð² пеÑеменной окÑÑжениÑ
PGCLIENTENCODING.)-fимÑ_Ñайла--file=имÑ_ÑайлаÐапÑавиÑÑ Ð²Ñвод в ÑказаннÑй Ñайл. ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¾Ð¿ÑÑен, ÑкÑÐ¸Ð¿Ñ Ð·Ð°Ð¿Ð¸ÑÑваеÑÑÑ Ð² ÑÑандаÑÑнÑй вÑвод.
-g--globals-onlyÐÑгÑÑжаÑÑ ÑолÑко глобалÑнÑе обÑекÑÑ (Ñоли и ÑаблиÑнÑе пÑоÑÑÑанÑÑва), без баз даннÑÑ .
-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, либо пÑи воÑÑÑановлении вÑполнÑÑÑ ÑкÑÐ¸Ð¿Ñ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ ÑÑпеÑполÑзоваÑелÑ.--exclude-database=ÑаблонÐе вÑгÑÑжаÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , имена коÑоÑÑÑ ÑооÑвеÑÑÑвÑÑÑ
ÑаблонÑ. ÐÑклÑÑиÑÑ Ð¸Ð¼ÐµÐ½Ð° по неÑколÑким Ñаблонам можно, добавив неÑколÑко клÑÑей--exclude-database. ÐаÑамеÑÑÑаблонв данном аÑгÑменÑе обÑабаÑÑваеÑÑÑ Ð¿Ð¾ Ñем же пÑавилам, ÑÑо и в ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ñ psql\d(Ñм. Ð¨Ð°Ð±Ð»Ð¾Ð½Ñ Ð¿Ð¾Ð¸Ñка), ÑÑо позволÑÐµÑ Ñакже иÑклÑÑиÑÑ Ð½ÐµÑколÑко баз даннÑÑ , добавив в Ñаблон звÑздоÑкÑ. ÐÑполÑзÑÑ Ð·Ð²ÑздоÑкÑ, заклÑÑайÑе Ñаблон в кавÑÑки, еÑли звÑздоÑка Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑазвÑÑнÑÑа оболоÑкой.--extra-float-digits=ÑиÑло_ÑиÑÑÐÑводиÑÑ ÑиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑÑей ÑоÑкой не Ñ Ð¼Ð°ÐºÑималÑной ÑоÑноÑÑÑÑ, а Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм знаÑением extra_float_digits. ÐÑи вÑгÑÑзке даннÑÑ Ð² ÑелÑÑ ÑезеÑвного копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ñй паÑамеÑÑ Ð¸ÑполÑзоваÑÑ Ð½Ðµ ÑледÑеÑ.
--if-existsÐÑполÑзоваÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
DROP ... IF EXISTSÐ´Ð»Ñ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¾Ð±ÑекÑов в Ñежиме--clean. ÐÑи ÑÑом возможнÑе оÑибки «does not exist» (не ÑÑÑеÑÑвÑеÑ) не вÑводÑÑÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½ÐµÐ´ÐµÐ¹ÑÑвиÑелен без ÑказаниÑ--clean.--insertsÐÑгÑÑжаÑÑ Ð´Ð°Ð½Ð½Ñе в виде команд
INSERT, а неCOPY. ÐÑи ÑÑом воÑÑÑановление знаÑиÑелÑно замедлиÑÑÑ; в оÑновном ÑÑо пÑименÑеÑÑÑ Ð´Ð»Ñ Ð²ÑгÑÑзки даннÑÑ , коÑоÑÑе заÑем бÑдÑÑ Ð·Ð°Ð³ÑÑжаÑÑÑÑ Ð½Ðµ в Postgres Pro. ÐамеÑÑÑе, ÑÑо воÑÑÑановление Ð¼Ð¾Ð¶ÐµÑ Ð²Ð¾Ð²Ñе не вÑполниÑÑÑÑ Ð¿Ñи изменении поÑÑдка ÑÑолбÑов в ÑаблиÑÐ°Ñ . Ð ÑÑом ÑмÑÑле паÑамеÑÑ--column-insertsбезопаÑнее, но воÑÑÑановление бÑÐ´ÐµÑ ÐµÑÑ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½ÐµÐµ.--load-via-partition-rootÐÑи вÑгÑÑзке даннÑÑ Ð´Ð»Ñ ÑекÑии ÑаблиÑÑ Ð²ÑводиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
COPYилиINSERT, ÑÑÑлаÑÑиеÑÑ Ð½Ð° коÑневÑÑ ÑаблиÑÑ Ð² иеÑаÑÑ Ð¸Ð¸ ÑекÑиониÑованиÑ, а не на ÑÑÑ ÑекÑиÑ. Ð ÑезÑлÑÑаÑе пÑи загÑÑзке даннÑÑ Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑÐ°Ñ ÑекÑÐ¸Ñ Ð±ÑÐ´ÐµÑ Ð²ÑбиÑаÑÑÑÑ Ð·Ð°Ð½Ð¾Ð²Ð¾ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑÑÑоки. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð¾ пÑи воÑÑÑановлении даннÑÑ , когда на Ñелевом ÑеÑвеÑе ÑÑÑоки не вÑегда попадаÑÑ Ð² Ñе же ÑекÑии, в коÑоÑÑÑ Ð¾Ð½Ð¸ Ð½Ð°Ñ Ð¾Ð´Ð¸Ð»Ð¸ÑÑ Ð½Ð° иÑÑ Ð¾Ð´Ð½Ð¾Ð¼. ÐÑо возможно, напÑимеÑ, когда ÑÑÐ¾Ð»Ð±ÐµÑ ÑекÑиониÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ ÑекÑÑовÑй Ñип и в двÑÑ ÑиÑÑÐµÐ¼Ð°Ñ Ð¿Ð¾-ÑÐ°Ð·Ð½Ð¾Ð¼Ñ Ð¾Ð¿Ñеделено пÑавило ÑоÑÑиÑовки, по коÑоÑÐ¾Ð¼Ñ ÑпоÑÑдоÑиваеÑÑÑ ÑÑÐ¾Ñ ÑÑолбеÑ.--lock-wait-timeout=вÑемÑ_ожиданиÑÐе ждаÑÑ Ð±ÐµÑконеÑно полÑÑÐµÐ½Ð¸Ñ ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¸Ñовок ÑÐ°Ð±Ð»Ð¸Ñ Ð² наÑале пÑоÑедÑÑÑ Ð²ÑгÑÑзки. ÐмеÑÑо ÑÑого вÑдаÑÑ Ð¾ÑибкÑ, еÑли не ÑдаÑÑÑÑ Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸ÑоваÑÑ ÑаблиÑÑ Ð·Ð° Ñказанное
вÑемÑ_ожиданиÑ. ÐÑо вÑÐµÐ¼Ñ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ Ð² лÑбом из ÑоÑмаÑов, пÑинимаемÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð¹SET statement_timeout.--no-commentsÐе вÑгÑÑжаÑÑ ÐºÐ¾Ð¼Ð¼ÐµÐ½ÑаÑии.
--no-publicationsÐе вÑгÑÑжаÑÑ Ð¿ÑбликаÑии.
--no-role-passwordsÐе вÑгÑÑжаÑÑ Ð¿Ð°Ñоли Ñолей. ÐÑи воÑÑÑановлении вÑе Ñоли полÑÑÐ°Ñ Ð¿Ð°ÑÐ¾Ð»Ñ NULL и не ÑмогÑÑ Ð¿ÑойÑи пÑовеÑÐºÑ Ð¿Ð¾Ð´Ð»Ð¸Ð½Ð½Ð¾ÑÑи, пока им не бÑдÑÑ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ñ Ð¿Ð°Ñоли. Так как знаÑÐµÐ½Ð¸Ñ Ð¿Ð°Ñолей не нÑжнÑ, когда иÑполÑзÑеÑÑÑ ÑÑо Ñказание, инÑоÑмаÑÐ¸Ñ Ð¾ ÑолÑÑ ÑÑиÑÑваеÑÑÑ Ð¸Ð· ÑиÑÑемного пÑедÑÑавлениÑ
pg_roles, а не изpg_authid. Таким обÑазом, даннÑй ваÑÐ¸Ð°Ð½Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ñакже полезен, еÑли доÑÑÑп кpg_authidогÑаниÑен полиÑикой безопаÑноÑÑи.--no-security-labelsÐе вÑгÑÑжаÑÑ Ð¼ÐµÑки безопаÑноÑÑи.
--no-subscriptionsÐе вÑгÑÑжаÑÑ Ð¿Ð¾Ð´Ð¿Ð¸Ñки.
--no-syncÐо ÑмолÑаниÑ
pg_dumpallждÑÑ, пока вÑе ÑÐ°Ð¹Ð»Ñ Ð½Ðµ бÑдÑÑ Ð½Ð°Ð´Ñжно запиÑÐ°Ð½Ñ Ð½Ð° диÑк. С даннÑм паÑамеÑÑомpg_dumpallзавеÑÑаеÑÑÑ Ð½ÐµÐ¼ÐµÐ´Ð»ÐµÐ½Ð½Ð¾, Ñо еÑÑÑ Ð²ÑполнÑеÑÑÑ Ð±ÑÑÑÑее, но в ÑлÑÑае неожиданного ÑÐ±Ð¾Ñ Ð¾Ð¿ÐµÑаÑионной ÑиÑÑÐµÐ¼Ñ Ð²ÑгÑÑженнÑе даннÑе могÑÑ Ð¾ÐºÐ°Ð·Ð°ÑÑÑÑ Ð¸ÑпоÑÑеннÑми. ÐообÑе ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¿ÑедназнаÑен пÑежде вÑего Ð´Ð»Ñ ÑеÑÑиÑованиÑ, Ð´Ð»Ñ Ð¿ÑоизводÑÑвенной ÑÑÐµÐ´Ñ Ð¾Ð½ не Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð¸Ñ.--no-table-access-methodÐе вÑводиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð´Ð»Ñ Ð²ÑбоÑа ÑаблиÑнÑÑ Ð¼ÐµÑодов доÑÑÑпа. ÐÑи воÑÑÑановлении вÑе обÑекÑÑ Ð±ÑдÑÑ ÑоздаваÑÑÑÑ Ñ ÑаблиÑнÑм меÑодом доÑÑÑпа, вÑбиÑаемÑм по ÑмолÑаниÑ.
--no-tablespacesÐе вÑводиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, ÑоздаÑÑие или вÑбиÑаÑÑие ÑаблиÑнÑе пÑоÑÑÑанÑÑва Ð´Ð»Ñ Ð¾Ð±ÑекÑов. С ÑÑим паÑамеÑÑом вÑе обÑекÑÑ Ð±ÑдÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ñ Ð² пÑоÑÑÑанÑÑве по ÑмолÑаниÑ, ÑÑÑановленном во вÑÐµÐ¼Ñ Ð²Ð¾ÑÑÑановлениÑ.
--no-toast-compressionÐе вÑдаваÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, задаÑÑие меÑÐ¾Ð´Ñ ÑжаÑÐ¸Ñ TOAST. С ÑÑим Ñказанием вÑе ÑÑолбÑÑ Ð±ÑдÑÑ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ Ñ Ð¼ÐµÑодом ÑжаÑиÑ, вÑбÑаннÑм по ÑмолÑаниÑ.
--no-unlogged-table-dataÐе вÑгÑÑжаÑÑ ÑодеÑжимое нежÑÑналиÑÑемÑÑ ÑаблиÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ðµ влиÑÐµÑ Ð½Ð° Ñо, как вÑгÑÑжаÑÑÑÑ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑÑÐ¸Ñ ÑÐ°Ð±Ð»Ð¸Ñ (ÑÑ ÐµÐ¼Ð°); он оÑклÑÑÐ°ÐµÑ ÑолÑко вÑгÑÑÐ·ÐºÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð· Ð½Ð¸Ñ .
--on-conflict-do-nothingÐобавиÑÑ Ð¿ÑедложениÑ
ON CONFLICT DO NOTHINGв командÑINSERT. ÐÑо Ñказание допÑÑкаеÑÑÑ ÑолÑко пÑи вÑбоÑе Ñежима--insertsили--column-inserts.--quote-all-identifiersÐÑинÑдиÑелÑно ÑкÑаниÑоваÑÑ Ð²Ñе иденÑиÑикаÑоÑÑ. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ ÑекомендÑеÑÑÑ Ð¿Ñи вÑгÑÑзке базÑ, когда оÑÐ½Ð¾Ð²Ð½Ð°Ñ Ð²ÐµÑÑÐ¸Ñ ÑеÑвеÑа PostgreSQL, Ñ ÐºÐ¾ÑоÑого вÑгÑÑжаеÑÑÑ Ð±Ð°Ð·Ð°, оÑлиÑаеÑÑÑ Ð¾Ñ Ð²ÐµÑÑии pg_dumpall, или когда вÑгÑÑÐ¶ÐµÐ½Ð½Ð°Ñ ÐºÐ¾Ð¿Ð¸Ñ Ð¿ÑедназнаÑена Ð´Ð»Ñ Ð·Ð°Ð³ÑÑзки на ÑеÑвеÑе Ñ Ð´ÑÑгой оÑновной веÑÑией. Ðо ÑмолÑÐ°Ð½Ð¸Ñ pg_dumpall ÑкÑаниÑÑÐµÑ ÑолÑко Ñе иденÑиÑикаÑоÑÑ, коÑоÑÑе ÑвлÑÑÑÑÑ Ð·Ð°ÑезеÑвиÑованнÑми Ñловами в ÑобÑÑвенной оÑновной веÑÑии. Ðногда ÑÑо пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ðº пÑоблемам ÑовмеÑÑимоÑÑи Ñ ÑеÑвеÑами дÑÑÐ³Ð¸Ñ Ð²ÐµÑÑий, в коÑоÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑво заÑезеÑвиÑованнÑÑ Ñлов Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÑколÑко дÑÑгим. ÐÑименение паÑамеÑÑа
--quote-all-identifiersпÑедоÑвÑаÑÐ°ÐµÑ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ñе пÑоблемÑ, Ñеной ÑÑ ÑдÑÐµÐ½Ð¸Ñ ÑиÑаемоÑÑи ÑкÑипÑа Ñ Ð²ÑгÑÑженнÑми даннÑми.--restrict-key=restrict_keyÐÑполÑзоваÑÑ Ð¿ÑедоÑÑавленнÑÑ ÑÑÑÐ¾ÐºÑ Ð² каÑеÑÑве клÑÑа
\restrictpsql в вÑводе вÑгÑÑзки. ÐÑли клÑÑ Ð¾Ð³ÑаниÑÐµÐ½Ð¸Ñ Ð½Ðµ Ñказан, pg_dumpall ÑгенеÑиÑÑÐµÑ ÑлÑÑайнÑй клÑÑ. ÐлÑÑи могÑÑ ÑодеÑжаÑÑ ÑолÑко бÑквеннÑе и ÑиÑÑовÑе ÑимволÑ.ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð² оÑновном пÑедназнаÑен Ð´Ð»Ñ Ñелей ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ дÑÑÐ³Ð¸Ñ ÑÑенаÑиев, ÑÑебÑÑÑÐ¸Ñ Ð¿Ð¾Ð²ÑоÑÑÑегоÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð²Ñвода (напÑимеÑ, Ð´Ð»Ñ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ñайлов вÑгÑÑзки). ÐаÑамеÑÑ Ð½Ðµ ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ Ð² повÑедневной ÑабоÑе, поÑколÑкÑ, Ð·Ð½Ð°Ñ Ð¿ÑинÑÐ¸Ð¿Ñ ÑÑнкÑиониÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ»ÑÑа, злоÑмÑÑленник Ð¼Ð¾Ð¶ÐµÑ Ð²Ð½ÐµÐ´ÑиÑÑ Ð¿ÑоизволÑнÑй код, коÑоÑÑй бÑÐ´ÐµÑ Ð²Ñполнен на маÑине пÑи помоÑи psql и вÑвода вÑгÑÑзки.
--rows-per-insert=ÑиÑло_ÑÑÑокÐÑгÑÑжаÑÑ Ð´Ð°Ð½Ð½Ñе ÑÐ°Ð±Ð»Ð¸Ñ Ð² виде команд
INSERTвмеÑÑоCOPY. Рданном паÑамеÑÑе задаÑÑÑÑ Ð¼Ð°ÐºÑималÑное ÑиÑло ÑÑÑок Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð¹ командÑINSERT. Указанное в нÑм знаÑение должно бÑÑÑ Ð±Ð¾Ð»ÑÑе 0. ÐÑи ÑÑом в ÑлÑÑае ÐºÐ°ÐºÐ¸Ñ -либо оÑибок пÑи воÑÑÑановлении даннÑÑ Ð±ÑдÑÑ Ð¿Ð¾ÑеÑÑÐ½Ñ ÑолÑко ÑÑÑокиINSERT, где возникли оÑибки, но не вÑÑ ÑодеÑжимое ÑаблиÑÑ.--use-set-session-authorizationÐÑводиÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
SET SESSION AUTHORIZATION, ÑооÑвеÑÑÑвÑÑÑие ÑÑандаÑÑÑ, вмеÑÑоALTER OWNER, Ð´Ð»Ñ Ð½Ð°Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑÑев обÑекÑов. Ð ÑезÑлÑÑаÑе вÑгÑÑженнÑй ÑкÑÐ¸Ð¿Ñ Ð±ÑÐ´ÐµÑ Ð±Ð¾Ð»ÐµÐµ ÑÑандаÑÑизиÑованнÑм, но Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ воÑÑÑановиÑÑÑÑ ÐºÐ¾ÑÑекÑно, в завиÑимоÑÑи Ð¾Ñ Ð¸ÑÑоÑии обÑекÑов.-?--helpÐоказаÑÑ ÑпÑÐ°Ð²ÐºÑ Ð¿Ð¾ аÑгÑменÑам командной ÑÑÑоки pg_dumpall и завеÑÑиÑÑÑÑ.
Ðалее опиÑÐ°Ð½Ñ Ð¿Ð°ÑамеÑÑÑ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑением.
-dÑÑÑока_подклÑÑениÑ--dbname=ÑÑÑока_подклÑÑениÑУказÑÐ²Ð°ÐµÑ Ð¿Ð°ÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº ÑеÑвеÑÑ Ð² ÑоÑмаÑе ÑÑÑоки подклÑÑениÑ; они бÑдÑÑ Ð¿ÐµÑеопÑеделÑÑÑ Ð»ÑбÑе одноимÑннÑе паÑамеÑÑÑ, заданнÑе в командной ÑÑÑоке.
ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð½Ð°Ð·ÑваеÑÑÑ
--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ÐаÑамеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð¿Ð¾ ÑмолÑаниÑ
PG_COLORÐÑбиÑÐ°ÐµÑ Ð²Ð°ÑÐ¸Ð°Ð½Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑвеÑа в диагноÑÑиÑеÑÐºÐ¸Ñ ÑообÑениÑÑ . ÐозможнÑе знаÑениÑ:
always(вÑегда),auto(авÑомаÑиÑеÑки) иnever(никогда).
ÐÑа ÑÑилиÑа, как и болÑÑинÑÑво дÑÑÐ³Ð¸Ñ ÑÑÐ¸Ð»Ð¸Ñ Postgres Pro, Ñакже иÑполÑзÑÐµÑ Ð¿ÐµÑеменнÑе ÑÑедÑ, поддеÑживаемÑе libpq (Ñм. Раздел 33.15).
ÐÑимеÑаниÑ
Так как pg_dumpall внÑÑÑи ÑÐµÐ±Ñ Ð²ÑзÑÐ²Ð°ÐµÑ pg_dump, ÑаÑÑÑ Ð´Ð¸Ð°Ð³Ð½Ð¾ÑÑиÑеÑÐºÐ¸Ñ ÑообÑений бÑÐ´ÐµÑ Ð¾ÑноÑиÑÑÑÑ Ðº pg_dump.
ÐлÑÑ --clean Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÐµÐ·ÐµÐ½, даже еÑли Ð²Ñ Ð½Ð°Ð¼ÐµÑеваеÑеÑÑ Ð²Ð¾ÑÑÑановиÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¸Ð· ÑкÑипÑа в новом клаÑÑеÑе. С --clean ÑкÑÐ¸Ð¿Ñ ÑÐ¼Ð¾Ð¶ÐµÑ ÑдалиÑÑ Ð¸ пеÑеÑоздаÑÑ Ð²ÑÑÑоеннÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
postgres и template1, Ñак ÑÑо они полÑÑÐ°Ñ ÑвойÑÑва, коÑоÑÑе имели одноимÑннÑе Ð±Ð°Ð·Ñ Ð² иÑÑ
одном клаÑÑеÑе (напÑимеÑ, Ð»Ð¾ÐºÐ°Ð»Ñ Ð¸ кодиÑовкÑ). Ðез данного клÑÑа ÑÑи Ð±Ð°Ð·Ñ ÑоÑ
ÑанÑÑ Ñвои ÑвойÑÑва ÑÑÐ¾Ð²Ð½Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, а Ñакже вÑÑ ÑÑÑеÑÑвÑÑÑее ÑодеÑжимое.
ÐоÑле воÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ ÑмÑÑл запÑÑÑиÑÑ ANALYZE Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, ÑÑÐ¾Ð±Ñ Ð¾Ð¿ÑимизаÑÐ¾Ñ Ð¿Ð¾Ð»ÑÑил акÑÑалÑнÑÑ ÑÑаÑиÑÑикÑ. Также можно запÑÑÑиÑÑ Ð°Ð½Ð°Ð»Ð¸Ð· Ð´Ð»Ñ Ð²ÑеÑ
баз даннÑÑ
, вÑполнив ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ vacuumdb -a -z.
Ðе ÑледÑÐµÑ Ð¾Ð¶Ð¸Ð´Ð°ÑÑ, ÑÑо ÑкÑÐ¸Ð¿Ñ Ð²ÑгÑÑзки бÑÐ´ÐµÑ Ð²ÑполнÑÑÑÑÑ Ð°Ð±ÑолÑÑно без оÑибок. Ð ÑаÑÑноÑÑи, Ñак как он бÑÐ´ÐµÑ ÑодеÑжаÑÑ CREATE ROLE Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑÑÑеÑÑвÑÑÑей в иÑÑ
одном клаÑÑеÑе Ñоли, пÑи попÑÑке ÑоздаÑÑ ÑÑпеÑполÑзоваÑÐµÐ»Ñ Ð¾Ð¿ÑеделÑнно пÑоизойдÑÑ Ð¾Ñибка «role already exists» (ÑÐ¾Ð»Ñ Ñже ÑÑÑеÑÑвÑеÑ), еÑли ÑолÑко Ñелевой клаÑÑÐµÑ Ð±Ñл иниÑиализиÑован не Ñ Ð´ÑÑгим наÑалÑнÑм именем ÑÑпеÑполÑзоваÑелÑ. ÐÑа оÑибка некÑиÑиÑна и ÐµÑ ÑледÑÐµÑ Ð¿ÑоÑÑо игноÑиÑоваÑÑ. С клÑÑом --clean веÑÑма веÑоÑÑÐ½Ñ Ð´ÑÑгие незнаÑиÑелÑнÑе ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибкаÑ
, ÑвÑзаннÑе Ñ Ð½ÐµÑÑÑеÑÑвÑÑÑими обÑекÑами; иÑ
ÑиÑло можно минимизиÑоваÑÑ, добавив клÑÑ --if-exists.
ÐÑи иÑполÑзовании pg_dumpall ÑÑебÑеÑÑÑ, ÑÑÐ¾Ð±Ñ Ð²Ñе Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе каÑалоги ÑаблиÑнÑÑ Ð¿ÑоÑÑÑанÑÑв ÑÑÑеÑÑвовали до воÑÑÑановлениÑ; в пÑоÑивном ÑлÑÑае Ñоздание баз даннÑÑ Ð² неÑÑандаÑÑном ÑазмеÑении завеÑÑиÑÑÑ Ð¾Ñибкой.
ÐбÑÑно ÑекомендÑеÑÑÑ Ð¸ÑполÑзоваÑÑ Ð¿Ð°ÑамеÑÑ -X (--no-psqlrc) пÑи воÑÑÑановлении Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
из ÑкÑипÑа pg_dumpall, ÑÑÐ¾Ð±Ñ Ð¾Ð±ÐµÑпеÑиÑÑ ÑиÑÑÑй пÑоÑеÑÑ Ð²Ð¾ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ избежаÑÑ Ð¿Ð¾ÑенÑиалÑнÑÑ
конÑликÑов Ñ Ð½ÐµÑÑандаÑÑнÑми конÑигÑÑаÑиÑми psql. ÐÑоме Ñого, поÑколÑÐºÑ ÑкÑÐ¸Ð¿Ñ pg_dumpall Ð¼Ð¾Ð¶ÐµÑ ÑодеÑжаÑÑ Ð¼ÐµÑÐ°ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ psql, он Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½ÐµÑовмеÑÑим Ñ ÐºÐ»Ð¸ÐµÐ½Ñами, оÑлиÑнÑми Ð¾Ñ psql.
ÐÑимеÑÑ #
ÐÑгÑÑзка вÑÐµÑ Ð±Ð°Ð· даннÑÑ :
$pg_dumpall > db.out
ÐоÑÑÑановиÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¸Ð· ÑÑого Ñайла можно Ñак:
$psql -X -f db.out -d postgres
Ркакой базе Ð²Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑаеÑеÑÑ, в пÑинÑипе, не Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°ÑениÑ, Ñак как ÑкÑипÑ, ÑозданнÑй ÑÑилиÑой pg_dumpall, бÑÐ´ÐµÑ ÑодеÑжаÑÑ Ð²Ñе командÑ, ÑÑебÑÑÑиеÑÑ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑоÑ
ÑанÑннÑÑ
баз даннÑÑ
и подклÑÑÐµÐ½Ð¸Ñ Ðº ним. Ðднако ÑÑо важно, еÑли пÑименÑеÑÑÑ ÐºÐ»ÑÑ --clean â Ñогда Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð·Ð½Ð°ÑалÑно подклÑÑиÑÑÑÑ Ðº базе postgres; ÑкÑÐ¸Ð¿Ñ Ð¿Ð¾Ð¿ÑÑаеÑÑÑ Ð¿Ñежде вÑего ÑдалиÑÑ Ð¾ÑÑалÑнÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, но не ÑÐ¼Ð¾Ð¶ÐµÑ ÑÑого ÑделаÑÑ Ð´Ð»Ñ Ð±Ð°Ð·Ñ, к коÑоÑой Ð²Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑенÑ.
См. Ñакже
ÐбÑаÑиÑеÑÑ Ðº опиÑÐ°Ð½Ð¸Ñ pg_dump, ÑÑÐ¾Ð±Ñ ÑзнаÑÑ Ð¾Ð± ÑÑловиÑÑ , пÑи коÑоÑÑÑ Ð¼Ð¾Ð³ÑÑ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÑÑÑ Ð¿ÑоблемÑ.