PostgreSQL 備份與恢復

PostgreSQL自帶一個客戶端pgAdmin裏面有個備份恢復選項也能對數據庫進行備份 恢復還原但最近發現數據庫慢慢龐大的時候經常出錯備份的文件過程中出錯的機率那是相當大手動調節灰常有限。所以一直尋找完美的備份恢復方案。


夢裏尋他千百度伊人卻在燈火闌珊處...其實PostgreSQL內置不少的工具尋找的備份恢復方案就在其中pg_dumppsql。這兩個指令在數據庫的安裝目錄下比如我自己本地安裝的路徑形如C:\Program Files\PostgreSQL\9.0\然後進入到bin文件夾會看到不少的exe文件這就是PostgreSQL內置的工具了。裏面會找到pg_dump.exepsql.exe兩個文件。我們怎麼用他們


用法

備份數據庫指令如下

  1. pg_dump -h 164.82.233.54 -U postgres databasename > C:\databasename.bak  

開始-運行-cmd 彈出dos控制檯然後 在控制檯裏進入PostgreSQL安裝目錄bin下

cd C:\Program Files\PostgreSQL\9.0\bin

最後執行備份指令

  1. pg_dump -h 164.82.233.54 -U postgres databasename > C:\databasename.bak  

指令解釋如上命令pg_dump 是備份數據庫指令164.82.233.54是數據庫的ip地址必須保證數據庫允許外部訪問的權限哦~當然本地的數據庫ip寫 localhostpostgres 是數據庫的用戶名databasename 是數據庫名。> 意思是導出到C:\databasename.bak文件裏如果沒有寫路徑單單寫databasename.bak文件名那麼備份文件會保存在C:\Program Files\PostgreSQL\9.0\bin 文件夾裏。


恢復數據庫指令如下

  1. psql -h localhost -U postgres -d databasename <  C:\databasename.bak  

指令解釋如上命令psql是恢復數據庫命令localhost是要恢復到哪個數據庫的地址當然你可以寫上ip地址也就是說能遠程恢復必須保證數據庫允許外部訪問的權限哦~postgres 就是要恢復到哪個數據庫的用戶databasename 是要恢復到哪個數據庫。<  的意思是把C:\databasename.bak文件導入到指定的數據庫裏。

以上所有的是針對windows而言的如果在linux下會不會有效



在linux裏依然有效。有一個值得注意的是如果直接進入PostgreSQL的安裝目錄bin下執行命令可能會出現 找不到pg_dumppsql的現象我們在可以這樣

備份


  1. /opt/PostgreSQL/9.0/bin/pg_dump -h 164.82.233.54 -U postgres databasename > databasename.bak  


恢復


  1. /opt/PostgreSQL/9.0/bin/psql -h localhost -U postgres -d databasename < databasename.bak  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章