postgres 9.2升級9.3 在windows

張貼日期:2014/5/21 上午 01:16:56

~從9.2升級至9.3~

前置動作:

確認現在windows登入的使用者名稱,等一下會用到,大小寫要注意,例如以下使用Administrator

9.2動作:

    1. 使用 pgAdmin III 登入9.2 , 建立一個最高權限用戶,名稱為剛剛的windows帳戶,這裡舉例是Administrator,如果已經有這個帳號,確認是可以登入的(為了安全平時都是禁止登入或是刪除的)

    2. 停機.

    3. 編輯 pg_hba.conf ,讓本機IP免去登入密碼,避免升級問題:

host all all 127.0.0.1/32 trust

9.3動作:

    1. 如果還沒安裝就安裝起來,安裝位置要跟現在9.2版不一樣,資料存檔位置/port也不能一樣.

    2. 安裝完成後建立一個最高權限用戶,名稱為剛剛的windows帳戶,這裡舉例是Administrator.

    3. 停機

    4. 開一個CMD,路徑cd到9.3裡面的bin目錄,執行pg_upgrade,參數說明:

      • -b 9.2的bin位置

      • -B 9.3的bin位置

      • -d 9.2的DATA位置

      • -D 9.3的DATA位置

      • -p -d 9.2的port

      • -P -d 9.3的port

      • -c 只檢查,避免轉一半失敗,去掉此參數即可真正轉換

C:\postgre\93\bin>pg_upgrade -b C:\postgre\92\bin -B C:\postgre\93\bin -d C:\postgre\92data -D C:\postgre\93data -p 5432 -P 5434 -c

完成後,9.3的bin位置將會出現2個檔案:

analyze_new_cluster.bat 轉換完開機後第一個執行的檔案,會稍整理一下轉換完成的DATA

delete_old_cluster.bat 主要是幫你砍掉9.2的檔案,不建議執行,等到9.3運行一個月都沒問題再手動刪除9.2

    1. 9.3開機,跑analyze_new_cluster.bat

    2. pgAdmin III 登入9.3,刪除或是禁止登入剛剛的windows的名稱帳戶,然後檢查資料庫內容是否有問題.