2011年11月29日 星期二

在Linux文字介面下,還原PostgreSQL資料庫

在Linux文字介面下,還原PostgreSQL資料庫

dspace-dlll的PostgreSQL的備份指令位置:
PostgreSQL的shell指令都位於

/usr/bin/

目錄下,例如:

psql:進入PostgreSQL文字管理介面
createdb:建立資料庫
dropdb:刪除資料庫
pg_dump:備份單一資料庫
pg_dumpall:備份全部資料庫
pg_restore:回復資料庫

pg_dumpall指令介紹:
pg_dumpall是一個備份程式,執行本程式時會把此PostgreSQL伺服器上的所有資料庫全部備份起來。
語法如下:

pg_dumpall > backupfilename

psql指令介紹:
一個資料庫的回復要使用psql。
語法:

 psql < backupfilename

(由於在pg_dump回存資料時,若是空的資料庫系統,必須自行先建立一個空的資料庫,此資料庫才可以進行系統資料庫的回復工作


實例
回復圖書管理系統的book資料庫


實作語法

createdb book


psql book < /usr/local/pgsql/backup/book.pgdump

說明
[createdb book]是用來建立一個新的book資料庫,因為pg_dump並不會自行建立.

[psql book < /usr/local/pgsql/backup/book.pgdump] 是把/usr/local/pgsql/backup/book.pgdump的檔案內容經過輸出入轉向至psql book命令中,而book是要還原的資料庫.



立偉給的資料

3.    備份getcdb資料庫
pg_dump dspace_getcdb -U dspace | gzip > 146getcdb_db.gz



 7.    getcdb資料庫還原到geteceb(請先建立資料表)
gunzip -c 146getcdb_db.gz | psql dspace_getecdb -U dspace



資料來源:
http://www.postgresql.org/docs/8.4/static/app-pgdump.html

實作步驟

步驟1

To dump a database called mydb into a SQL-script file:
$ pg_dump mydb > db.sql

步驟2

To reload such a script into a (freshly created) database named newdb:
$ psql -d dspace -f dspace.sql -U dspace

沒有留言:

張貼留言