مهاجرت از طریق Dump and Restore
برای انتقال پایگاه دادههای کوچک و با قابلیت تحمل Downtime تا ۱ ساعت، راحتترین روش انتقال استفاده از ابزارهای استاندارد pg_dump و pg_restore برای انتقال داده است.
پیشنیازها
- نصب ابزارهای PostgreSQL client مانند pg_dump، pg_restore، psql بر روی ماشینی که به پایگاه داده دسترسی دارد. توصیه میشود برای جلوگیری از بروز خطا همواره نسخهی کلاینت سازگار با سرور نصب شود.
- دسترسی به پایگاهداده مبدأ و مقصد
- اتصال به کلاستر مقصد مطابق اتصال به پایگاهداده
خروجی گرفتن از پایگاهداده مبدأ
فرمت سفارشی (توصیهشده):
pg_dump -h <source-host> -U <source-user> -p <source-port> -Fc <source-database> > backup.dumpفرمت متنی (SQL ساده):
pg_dump -h <source-host> -U <source-user> -p <source-port> <source-database> > backup.sqlوارد کردن به کلاستر ستون
بازیابی از فرمت سفارشی:
pg_restore -h <target-host> -U sdb_admin -p 5432 -d <target-database> --jobs 4 backup.dumpوارد کردن از فرمت متنی:
psql -h <target-host> -U sdb_admin -p 5432 -d <target-database> < backup.sqlخروجی گرفتن از کلاستر ستون
برای تهیه بکاپ دستی از کلاستر ستون:
pg_dump -h <primary-host> -U sdb_admin -p 5432 -Fc <source-database> > sotoon-backup.dumpبرای بکاپ تمامی پایگاهدادههای کلاستر:
pg_dumpall -h <primary-host> -U sdb_admin -p 5432 --no-role-passwords > sotoon-full-backup.sqlاستفاده از --no-role-passwords سبب میشود که پسورد کاربران در خروجی dump وجود نداشته باشد. این فلگ به جلوگیری از خطای permission denied هنگام دسترسی به جدول pg_authid کمک میکند.
پس از وارد کردن داده
پس از اتصال موفق، اجرای ANALYZE به بهینهسازی برنامهریز کوئری کمک میکند:
ANALYZE;سپس رشته اتصال اپلیکیشنها را به Endpoint کلاستر جدید بهروزرسانی کنید.
