您好,登錄后才能下訂單哦!
小編給大家分享一下升級postgresql的方法有哪些,相信大部分人都還不怎么了解,因此分享這邊文章給大家學習,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學習方法吧!
PostgreSQL在默認情況下,是不能跨版本升級的(9.4, 9.5, 9.6等等這些版本跨版本升級。小版本更新不受影響,比如9.6.1到9.6.2升級不
受影響)。甚至PG為了數據的安全性,高版本不能直接使用低版本創建的數據目錄,會在日志中打印相關的錯誤信息。
dump + restore方案
此方案的原理是使用pg_dumpall命令將舊數據庫的全部dump成sql文件,然后使用psql命令還原至高版本的實例中。借助于管道,可以
實現在線升級。配合腳本的話,切換至高版本幾乎零宕機。由于dump+restore總體相對耗時較長,因此不適用于大數據量的數據庫,或
是寫入比較頻繁的場景使用。
在線遷移的步驟大致如下:
保持舊的實例與配置運行
新的PG實例配置新的端口或者新的unix socket文件,確保不與舊實例沖突
使用pg_dumpall | psql管道組合命令在線遷移數據
停止舊實例,將新實例的配置修改為舊實例使用的端口,重啟服務即可完成遷移
參考命令如下:
sudo -u postgres pg_dumpall -h /path/to/old/instance.sock | sudo -u postgres psql -h /path/to/new/instance.sock
數據倒入完畢之后,停掉舊實例,刪除舊數據的數據目錄即可。
不需要在線升級的話,也可以先用pg_dumpall把舊實例的數據導出,再更新postgresql,清空數據目錄,使用psql還原數據,效果是完
全一樣的。
pg_upgrade方案
pg_upgrade命令是直接對舊的數據庫目錄文件進行升級的方案,直接將舊版本的數據文件格式升級為新版本使用的格式。此方案優勢是
速度非常快,但是必須停機升級。因此不適用于7x24的場景。
命令非常簡單,同時安裝新版本和舊版本的postgresql,停止postgresql實例后執行:
復制集方案
此方案是最平滑的方案,比較適用于7x24小時以及大數據量場景,停機時間非常短,只有幾秒鐘。缺點和優點同樣突出——配置繁瑣,
需要有集群環境。
大體的步驟是使用Slony這種復制集方案,先用上述方案升級從庫,再升級主庫。
以上是升級postgresql的方法有哪些的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。