PostgreSQL資料庫完美備份恢復
阿新 • • 發佈:2019-01-02
進入到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
|
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 |