1,綜述:
下面主要是通過sql轉儲的方式備份postgresql, sql 轉儲的方法是建立乙個文字檔案,這個文字裡面都是 sql 命令,當把這個檔案回饋給伺服器時,將重建與轉儲時狀態一樣的資料庫。
2,備份命令
(1)postgresql 自帶的內建備份工具叫做pg_dump
例項:
#su -postgres#cd/usr/local/postgressql/bin
#./pg_dump mydb > test_db.out
從轉儲中恢復
#./created restoredb#./psql –d restoredb < test_db.out
(2)當遇到大資料庫時候,請使用以下方式
例項:
#su -postgres#cd /usr/local/postgressql/bin
#./pg_dump –ft –b mydb > test_db.tar
恢復大資料庫
#./created restored#pg_restore –d restored test_db.
tar
(3)備份整個資料庫使用pg_dumpall
例項:
#su -postgres#cd /usr/local/postgressql/bin
#./pg_dumpall –u postgres > alldb.out
恢復資料庫
#./psql –upostgresql < alldb.out
一旦恢復成功,建議使用
#vacuumdb -a –z
3,計畫備份任務
(1) 編寫乙個備份指令碼
#vim /home/postgres/backup.sh
#shell variablesdate_now=`date +%y%m%d`
back_dir=./back_log_dir="
./backup.log
"rmback_log_dir="
./rmback.log
"#postgresql bakup
/usr/local/postgressql/bin/pg_dump -u postgres mydb >$back_dir/$date_now.out
if [ $? = 0 ];then
echo
"$date_now postgresql backup success
" >>$back_log_dir
echo
"" >>$back_log_dir
else
echo
"$date_now postgresql backup failed
" >>$back_log_dir
echo
"" >>$back_log_dirfi#
rmback files
find $back_dir -mtime +8 -exec rm -fr {} \;
if [ $? = 0 ];then
echo
"$date_now rm backup files successful
">>$rmback_log_dir
echo
"" >>$rmback_log_dir
else
echo
"$date_now rm backup files failed
">>$rmback_log_dir
echo
"" >>$rmback_log_dir
fi
#chmod –r 777 backup.sh#mkdir –p /data/backupdb
#mkdir –p /var/log/pgsqllog/rmback
#chown –r postgres /data/backupdb
#chown –r postgres/var/log/pgsqllog/rmback
#crontab -u postgres –e
03 * * * /home/postgresql/backup.sh
轉 -u postgres –e
pgsql的備份與恢復
在window上備份 1 在pgsql的bin目錄在開啟命令視窗。注 可以使用.pg dump 查詢相關引數含義 3 恢復資料 pg restore.exe host ip位址 port 埠號 username 使用者名稱 dbname 資料庫名稱 verbose 備份檔案 例 pg restore...
pgsql 備份表結構資料
備份表結構 pg dump h p d u s data sql 只備份資料 a 只備份結構 s,表結構和資料 什麼都不加 還原庫 psql h p u d data sql 備份指定表 包含資料 pg dump h p d t t u data sql 匯出匯入資料到txt copy to dat...
mysql定時備份指令碼 MySql定時備份指令碼
最近需要對某服務的資料庫資料進行備份,因此參考網上教程完成資料庫備份指令碼.因為服務的使用頻率較低,因此設定定時任務,在每天的中午以及午夜時分進行備份操作.bin bash 設定mysql的登入使用者名稱和密碼 根據實際情況填寫 mysql user mysql password mysql hos...