我試圖找到一個最快的方式將postgresql 數據庫v9.1.20從一臺服務器移動到另一臺服務器 與postgres v9.3.10。Postgresql就地數據庫升級
方案如下:
生產服務器上運行Ubuntu 12.04 的PostgreSQL 9.1.20,數據庫大小appox250克
目標服務器,我們正試圖重新定位上是 的Ubuntu 14.04 postgresq 9.3.10。
我們正在試圖與 嘗試的第一個嘗試是從舊服務器轉儲數據庫(pg_dump
)和新服務器(pg_restore
)上還原 它。
它工作得很好,但我們花了 搬遷時間大約爲4小時(pg_dump
需要3個小時 和pg_restore的需要1個小時(網絡鏈接1G, SSD磁盤兩臺服務器上)。
總停機時間在4小時內是不能接受的。
下一次嘗試是使用pg_basebackup
代替 pg_dump
,該方法減少了備用時間可達40分鐘 代替3-小時,這是可以接受的。
但是由於版本不兼容,我們無法使用由pg_basebackup
提供的轉儲。
我已經閱讀了很多關於如何提供就地數據庫 升級的文章,但似乎他們都指的是在同級服務器上升級 。
所以我的問題 - 我該如何升級由pg_basebackup
在服務器上產生 數據庫備份,而無需以前 發球的PostgreSQL安裝的二進制文件?
謝謝。
你嘗試管'pg_dump'的直接輸出成'psql'?像'pg_dump -h host1 dbname | psql -h host2 dbname'順便說一句:爲什麼你不升級到更新的版本,如9.4或9.5? –
您可以將舊版本(二進制文件+數據)的(二進制)副本發送到新機器(編譯並)在那裏安裝新版本,並在新機器上執行--link(「in-place」)升級。 http://www.postgresql.org/docs/9.5/static/pgupgrade.html [當然,以幹運行開始。舊的安裝仍在舊機器上運行] – wildplasser