1. 程式人生 > >PostgreSQL資料庫完美備份恢復

PostgreSQL資料庫完美備份恢復

進入到Postgresql下的bin資料夾,會看到不少的exe檔案,這就是PostgreSQL內建的工具了.裡面會找到pg_dump.exe.我們實際使用的就是這個.

用法:

?
1 2 3 4 5 6 7 8 9 1. cd C:\Program Files\PostgreSQL\9.3\bin 2. pg_dump -h localhost -U postgres kar > C:\kar.bak 3. psql -h localhost -U postgres -d KunlunApple <  C:\kar.bak
1.開始-執行-cmd 彈出dos控制檯,然後進入PostgreSQL安裝目錄bin下,如上面第一條命令.

2.備份

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

指令解釋:

  • pg_dump 是備份資料庫指令,
  • 164.82.233.54是資料庫的ip地址(必須保證資料庫允許外部訪問的許可權,如果是本地可以用localhost)
  • postgres 是資料庫的使用者名稱;
  • databasename 是資料庫名。
  • > 意思是匯出到C:\databasename.bak檔案裡,如果沒有寫路徑,單單寫databasename.bak檔名,那麼備份檔案會儲存在PostgreSQL\9.3\bin資料夾裡。

如上面第二條進行備份.

3.恢復

psql -h localhost -U postgres -d KunlunApple <  C:\kar.bak

指令解釋:

psql是恢復資料庫命令 164.82.233.54是資料庫的ip地址(必須保證資料庫允許外部訪問的許可權,如果是本地可以用localhost) postgres 是資料庫的使用者名稱; databasename 是要恢復到哪個資料庫 <   的意思是把C:\databasename.bak檔案匯入到指定的資料庫裡

以上所有的是針對windows.

Linux:

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

備份

?
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

1
轉載自:http://my.oschina.net/zhaoqian/blog/209994