عرفان جعفری زمان
عرفان جعفری زمان
خواندن ۱ دقیقه·۲ سال پیش

بک آپ پوستگرس با pq_dumpall

برای بکاپگیری از تمام اطلاعات پوستگرس از دستور pq_dumpall می توان استفاده کرد یا به ازای هر یک از دیتابیس های موجود در پوستگرس دستور pq_dump را اجرا نمود و فقط از دیتابیس مورد نظر به صورت زیر بکاپ گرفت:

$ pg_dump -h host -U username -p port dbname > db.sql
$ Pg_dumpall -h host -U username -p port -f db.sql

حال اگر از تمام اطاعات پوستگرس با Pg_dumpall بکاپ گرفته شده با اجرا bash script زیر می توان بکاپ یک دیتابیس خاص را استخراج کرد:

$ cat pgdump.sh

#!/bin/bash
[ $# -lt 2 ] && { echo "Usage: $0 <postgresql dump> <dbname>"; exit 1; }
sed "/connect.*$2/,\$!d" $1 | sed "/PostgreSQL database dump complete/,\$d"

$ ./pgdump.sh db.sql databasename >> backup.sql

بعد از اتمام دستور بالا می توان بکاپ موجود را در همان دیتابس قبلی با دستور زیر بازیابی نمود:

$ psql -U username -d dbname -f backup.sql -h host -p port

و اگر نیاز به بازیابی بکاپ در دیتابیس جدید باشد ابتدا خط اول موجود در backup.sql را پاک کرده و دستور زیر را اجرا نمایید ( C- برای ساخت دیتابیس در صورت عدم وجود می باشد):

$ cat backup.sql

\connect old-dbname
...

$ psql -U username -C -d new_db -f backup.sql -h host -p port



postgresqlpostgres backuppsqlpg dumppg dumpall
شاید از این پست‌ها خوشتان بیاید