اگر از PostgreSQL در محیط تولید استفاده می کنید ، لازم است اقدامات احتیاطی را انجام دهید تا اطمینان حاصل شود که داده های کاربران شما از بین نمی رود.
با پشتیبان گیری مداوم از بانک اطلاعاتی خود و / یا خودکار سازی پشتیبان گیری با استفاده از کارهای cron ، می توانید اگر سیستم عامل شما خراب شود یا آسیب ببیند ، سریعاً سیستم خود را بازیابی کنید.
خوشبختانه PostgreSQL شامل ابزاری است که این کار را ساده و آسان می کند.
قبل از شروع
شما باید کار کن من می خواهم PostgreSQL را قبل از شروع این راهنما بر روی سیستم شما نصب کنم.
نصب DBMS و دستورالعمل های شروع ما را بخوانید:
مراحل این راهنما به امتیازات ریشه ای نیاز دارد. مطمئن باشید که مراحل زیر را به عنوان root دنبال می کنید. یا پیشوند با sudo.
یک بار گذرگاه SQL
تک پایگاه داده
PostgreSQL ابزار pg_dump را برای ساده سازی نسخه پشتیبان از یک بانک اطلاعاتی فراهم می کند.
این دستور باید به عنوان کاربر دارای حق خواندن در دیتابیس اجرا شود. ذخیره کپی کنید که می خواهید ایجاد کنید.
به عنوان کاربر postgres وارد شوید:
su - postgres
محتویات پایگاه داده را با استفاده از دستور زیر در یک پرونده قرار دهید. dbname را با نام بانک اطلاعات جایگزین کنید تا نسخه پشتیبان تهیه کنید. 19659017] pg_dump dbname> dbname.bak
فایل پشتیبان حاصل ، dbname.bak ، می تواند با استفاده از scp به محلی دیگر ذخیره شود یا برای استفاده بعدی ذخیره شود.
برای نشان دادن بازیابی اطلاعات از دست رفته ، پایگاه داده نمونه را حذف کنید و یک پایگاه داده خالی در جای خود ایجاد کنید:
dropdb dbname
ایجاد dbname
بازگرداندن بانک اطلاعاتی با استفاده از psql:
psql test <dbname.bak
برای قالب پشتیبان گزینه های مختلفی وجود دارد:
- * .bak: قالب باینری فشرده شده
- * .sql: dump open متن
- * .tar: tarball
پایگاه داده از راه دور
درست همانطور که psql به شما امکان می دهد تا به یک میزبان از راه دور متصل شوید ، pg_dump می تواند از یک رایانه مشتری برای پشتیبان گیری از داده ها در یک سرور از راه دور راه اندازی شود.
ساعت برای تعیین آدرس IP Linode و -p برای تعیین پستی که PostgreSQL در آن گوش می دهد:
pg_dump -h 198.51 .100.0 -p 5432 dbname> dbname.bak
از آنجا که pg_dump بطور همزمان فقط یک بانک اطلاعاتی را تهیه می کند ، اطلاعات مربوط به نقش های پایگاه داده یا سایر پیکربندی های کل خوشه را ذخیره نمی کند.
می توانید برای ذخیره سازی این اطلاعات از pg_dumpall استفاده کرده و همزمان از کلیه بانکهای اطلاعاتی خود نسخه پشتیبان تهیه کنید.
یک فایل تهیه نسخه پشتیبان تهیه کنید:
pg_dumpall> pg_backup.bak
بازیابی تمام پایگاه های داده از پشتیبان گیری:
psql -f pg_backup .bak postgres
پشتیبان گیری خودکار با کرون
شما ممکن است بخواهید شما می توانید وظیفه cron را به گونه ای تنظیم کنید که بانک اطلاعاتی شما بطور خودکار در فواصل منظم پشتیبان گیری شود.
در در این بخش نحوه پیکربندی وظیفه cron ، که pg_dump را در هفته اجرا می کند به شما نشان می دهد.
به عنوان کاربر postgres وارد شوید:
su - postgres
دایرکتوری را برای ذخیره کردن نسخه های پشتیبان خودکار ایجاد کنید:
mkdir -p ~ / postgres / backup
crontab را ویرایش کنید تا یک وظیفه جدید را ایجاد کنید:
crontab - e
خط پایان را به انتهای crontab اضافه کنید:
0 0 * * 0 pg_dump -U postgres dbname > ~ / postgres / backup / dbname.bak
ویرایشگر را ذخیره کنید و از آن خارج شوید.
پایگاه داده شما هر یکشنبه از نیمه شب پشتیبان تهیه می شود.
برای تغییر زمان یا دفعات بروزرسانی ها ، راهنماهای مربوط به ما را بررسی کنید: