Total Pageviews

Friday 26 August 2016

Postgresql DB的備份與還原


說明:
 使用Postgresql DB 要做資料的備份與還原時,可以用以下的二個指令:

  • pg_dump :資料庫備份的指令
  • pg_restore :資料庫回復(Recover)的指令

實驗環境:

  • Ubuntu 9.04
  • Postgresql DB 8.3

    pg_dump 常用指令參數:
    •  -f  file
       --file=file
       輸出到指定的文件

    • -F format
      --format=format
      輸出的格式可以是下列之一

      p  輸出成一個sql 腳本

      t   輸出成一個 tar 檔

      c  輸出成一個壓縮格式的文件

       
    • -v
      --verbose
      備份時在瑩幕上顯示出祥細的訊息(如備份進度等)

    • -Z 0..9
      --compress=0..9
      此選項要配合輸出格式參數為 'c'   一起配合使用。數字
      0到9表示壓縮的級別

    • -h  host
      --host=host
      連線的主機名稱(也可以是ip)

    • -p  port
      --port=port
      資料庫的連結埠

    • -U username
      登入資料庫的帳號




    使用 pg_dump 做資料庫備份:

    (1)把名稱為xdna_kiosk_client 的資料庫備份
    到james家目錄的db資料匣中,且備份的檔名為 kiosk_client.bak
    pg_dump -h 127.0.0.1 -p 5432 -U postgres -F c -b -v -f "/home/james/db/xdna_kiosk_client.bak" xdna_kiosk_client  
    


    使用 pg_restore做備份還原:

    (1)
    新建一個空白的資料庫,該資料庫名稱為mydb:
    psql -U postgres -h 127.0.0.1 -c "create database mydb"
    

    (2)
    把james家目錄的db資料匣中備份檔 Recover 到 mydb
    pg_restore -h 127.0.0.1 -p 5432 -U postgres -F c -b -v -f "/home/james/db/xdna_kiosk_client.bak" mydb