[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 數據庫 > 其它 > 正文
PostgreSQL7.0手冊-用戶手冊-21. 系統應用 - pg_upgrade
編譯:何偉平 laser@zhengmai.com.cn (2001-04-21 22:28:03)
pg_upgrade
描述
pg_upgrade  允許從前面的版本升級而不需要重載數據 

語法
pg_upgrade [ -f filename ] old_data_dir
描述
pg_upgrade 是一個從以前的 PostgreSQL 版本升級而不重載數據的工具。不是所有 Postgres 版本的遷移都可以用這個方法實現。請檢查你的節點的版本信息獲取細節。 
  
用 pg_upgrade 升級 Postgres 
備份你現有的數據目錄,最好是用 pg_dumpall 做一次完整輸出。 
然: 

% pg_dumpall -s >db.out
不帶任何數據輸出你的舊數據庫的表定義。 
  
停止舊的 postmaster 和所有端的運行。 

把你的舊的 pgsql data/ 目錄改成(用 mv )data.old/。 

運行 

% make install
安裝新的二進制文件。 
運行 initdb 為新版本創建新的包含系統表的 template1 數據庫。 

運行新的 postmaster。(注意:在數據庫升級完成前不能有用戶與數據庫聯接。你可能需要不帶 -i 參數啟動 postmaster 和/或暫時修改 pg_hba.conf。) 

把你的工作目錄改到 pgsql 主目錄,然鍵入: 

% pg_upgrade -f db.out data.old
該程序會做一些檢查以確保所有東西都正確配置好了,然就會運行你的 db.out 腳本創建你原來有的數據庫和表,但是沒有數據。然它將把那些不含系統表和索引的文件物理地從 data.old/ 移到合適的 data/ 子目錄裡,代替在運行 db.out 腳本時創建的空文件。 
如果需要的話恢復你的舊的 pg_hba.conf,以允許用戶登錄。 

停止然重起 postmaster。 

仔細檢查升級完了的表的內容。如果發現問題,你將需要通過從你的完全 pg_dump 的備份重新裝載來恢復。如果你覺得滿意,你可以刪除 data.old/ 目錄。 

升級完的數據庫將是處未清理的狀態。你在開始生產工作前可能需要運行一個 VACUUM ANALYZE。
(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
PostgreSQL7.0手冊-附錄-文檔 (2001-04-21 23:50:44)
PostgreSQL7.0手冊-附錄-日期/時間支持-CVS 倉庫 (2001-04-21 23:48:48)
PostgreSQL7.0手冊-教程 -73. Postgres SQL 高級特性 (2001-04-21 23:45:36)
PostgreSQL7.0手冊-教程 -72. 查詢語言 (2001-04-21 23:44:40)
PostgreSQL7.0手冊-教程 -71. 開始 (2001-04-21 23:42:54)
PostgreSQL7.0手冊-教程 -70. 體系結構 (2001-04-21 23:41:58)
PostgreSQL7.0手冊-教程 -69. SQL (2001-04-21 23:41:23)
PostgreSQL7.0手冊-開發者手冊 -68. 分頁文件 (2001-04-21 23:39:22)
PostgreSQL7.0手冊-開發者手冊 -67. 端接口 (2001-04-21 23:38:34)
PostgreSQL7.0手冊-開發者手冊 -66. gcc 缺省優化 (2001-04-21 23:37:20)

===更多相關===
 

★  樊強制作 歡迎分享  ★