精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

PostgreSQL跨版本升級常用方案

數據庫 PostgreSQL
對于企業而言,將數據庫系統升級到新版本通常可以獲得更好的性能、更多的功能、最新的安全補丁和錯誤修復等。因此,本文就來介紹一下 PostgreSQL 數據庫版本升級的三種常用方案。

對于企業而言,將數據庫系統升級到新版本通常可以獲得更好的性能、更多的功能、最新的安全補丁和錯誤修復等。因此,本文就來介紹一下 PostgreSQL 數據庫版本升級的三種常用方案。

升級方案概述

PostgreSQL 版本號由主要版本和次要版本組成。例如,PostgreSQL 12.4 中的 12 是主要版本,4 是次要版本;PostgreSQL 10.0 之前的版本由 3 個數字組成,例如 9.6.19,其中 9.6 是主要版本,19 是次要版本。

發布次要版本是不會改變內存的存儲格式,因此總是和相同的主要版本兼容。例如,PostgreSQL 12.4 和 PostgreSQL 12.0 以及后續的 PostgreSQL 12.x 兼容。對于這些兼容版本的升級非常簡單,只需要關閉數據庫服務,安裝替換二進制的可執行文件,重新啟動服務即可。

接下來,我們主要討論 PostgreSQL 的跨版本升級問題,例如從 PostgreSQL 12.x 升級到 PostgreSQL 13.y。主要版本的升級可能會修改內部數據的存儲格式,因此需要執行額外的操作。常用的跨版本升級方法和適用場景如下:

升級方法

適用場景

停機時間

邏輯備份與還原

中小型數據庫,例如小于 100 GB
支持跨平臺數據遷移

取決于數據庫的大小

pg_upgrade 工具

大中型數據庫,例如大于 100 GB
本機就地升級

幾分鐘

邏輯復制

大中型數據庫,例如大于 100 GB
跨平臺支持

幾秒鐘

??如果使用廠商提供的 PostgreSQL 定制版本,也可能通過他們提供的工具實現版本升級,具體參考相關文檔。

注意事項:升級主要版本通過會導致用戶可見的不兼容性,因此應用程序可能需要進行相應的修改。具體的變化可以參考發行說明,尤其是“Migration”部分的內容;如果跨多個主要版本進行升級,需要閱讀每個中間版本的發行說明。

通過邏輯備份與還原進行升級

傳統的跨版本升級方法利用 pg_dump/pg_dumpall 邏輯備份導出數據庫,然后在新版本中通過 pg_restore 進行還原。導出舊版本數據庫時推薦使用新版本的 pg_dump/pg_dumpall 工具,可以利用最新的并行導出和還原功能,同時可以減少數據庫膨脹問題。

邏輯備份與還原非常簡單但速度比較慢,停機時間取決于數據庫的大小,因此適合中小型數據庫的升級。

下面我們介紹這種升級方法的具體操作,假如當前 PostgreSQL 軟件的安裝目錄位于 /usr/local/pgsql,同時數據目錄位于 /usr/local/pgsql/data,我們在同一臺服務器上進行升級。

執行邏輯備份之前停止應用程序,確保沒有數據更新,因為備份開始后的更新不會被導出。如有必要,可以修改 /usr/local/pgsql/data/pg_hba.conf 文件禁止其他人訪問數據庫。

然后備份數據庫:

pg_dumpall > outputfile

如果已經安裝了新版本的 PostgreSQL,可以使用新版本的 pg_dumpall 命令備份舊版本數據庫。

停止舊版本的后臺服務:

pg_ctl stop

或者通過其他方式停止后臺服務。

如果安裝目錄沒有包含特定版本標識,可以將目錄改名,必要時可以再修改回來。可以使用類似以下的命令重命名目錄:

mv /usr/local/pgsql /usr/local/pgsql.old

安裝新版本 PostgreSQL 軟件,假如安裝目錄仍然是 /usr/local/pgsql。

初始化一個新的數據庫集群,需要使用數據庫專用用戶(通常是 postgres;如果是升級版本,應該已經存在該用戶)執行操作:

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

將舊版本配置文件 pg_hba.conf 和 postgresql.conf 等中的改動在對應的新配置文件中再次進行修改。

使用數據庫專用用戶啟動新版本的后臺服務:

/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data

最后,利用新版本的 psql 命令還原數據:

/usr/local/pgsql/bin/psql -d postgres -f outputfile

為了減少停機時間,可以將新版本的 PostgreSQL 安裝到另一個目錄(例如 /usr/local/pgsql-13),同時使用不同的端口啟動服務。然后同時執行數據庫的導出和導入:

pg_dumpall -p 5432| psql -d postgres -p 5433

執行以上操作時,新舊版本的后臺服務同時運行,新版本使用 5433 端口,舊版本使用 5432 端口。

利用 pg_upgrade 工具進行升級

pg_upgrade 工具可以支持 PostgreSQL 跨版本的就地升級,不需要執行導出和導入操作。pg_upgrade 可以支持 PostgreSQL 8.4.X 到最新版本的升級,包括快照版本和測試版本。

pg_upgrade 提供了升級前的兼容性檢查(-c 或者 --check 選項)功能, 可以發現插件、數據類型不兼容等問題。如果指定了 --link 選項,新版本服務可以直接使用原有的數據庫文件而不需要執行復制,通常可以在幾分鐘內完成升級操作。

下面我們介紹這種升級方法的具體操作,假如當前 PostgreSQL 軟件的安裝目錄位于 /usr/pgsql-12/,同時數據目錄位于 /var/lib/pgsql/12/data/,我們將其升級為 PostgreSQL 13。

確定沒有客戶端訪問之后備份數據庫,然后停止舊版本的后臺服務。例如 CentOS 可以執行以下命令:

sudo systemctl stop postgresql-12
sudo systemctl disable postgresql-12

安裝新版本的 PostgreSQL 軟件。例如 PostgreSQL 13.0,安裝目錄位于 /usr/pgsql-13/。

初始化新版本的數據庫集群。數據目錄設置為 /var/lib/pgsql/13/data/。

如果舊版本中安裝了擴展模塊,在新版本中也需要安裝相應的共享對象文件或者 DLL 文件。但是不要執行CREATE EXTENSION命令,因為會從舊數據庫中進行升級。另外,如果使用了任何自定義的全文搜索文件(字典、同義詞、詞庫、停用詞),也需要復制到新的數據庫集群目錄中。

停止新版本的后臺服務。例如 CentOS 可以執行以下命令:

sudo systemctl stop postgresql-13

通過 pg_upgrade 執行升級操作,使用數據庫專用用戶(通常是 postgres)執行以下操作:

/usr/pgsql-13/bin/pg_upgrade \
  --old-datadir /var/lib/pgsql/12/data/ \
  --new-datadir /var/lib/pgsql/13/data/ \
  --old-bindir /usr/pgsql-12/bin/ \
  --new-bindir /usr/pgsql-13/bin/ \
  --check

其中 --check 表示執行升級檢查,而不會真的執行升級操作。通過檢查之后,可以去掉該參數執行升級:

/usr/pgsql-13/bin/pg_upgrade \
  --old-datadir /var/lib/pgsql/12/data/ \
  --new-datadir /var/lib/pgsql/13/data/ \
  --old-bindir /usr/pgsql-12/bin/ \
  --new-bindir /usr/pgsql-13/bin/ \
  --link

其中 --link 表示將新版本的數據目錄硬鏈接到舊版本的數據目錄,而不會復制一份新的數據文件,可以快速進行升級。

將舊版本配置文件 pg_hba.conf 和 postgresql.conf 等中的改動在對應的新配置文件中再次進行修改。

啟動新版本的后臺服務。例如 CentOS 可以執行以下命令:

sudo systemctl start postgresql-13
sudo systemctl enable postgresql-13

連接服務器查看數據庫的版本信息:

SELECT version();
version                                                                                                |
-------------------------------------------------------------------------------------------------------|
PostgreSQL 13.0on x86_64-pc-linux-gnu, compiled by gcc (GCC)4.8.520150623(Red Hat 4.8.5-39),64-bit|

收集統計信息。pg_upgrade 不會生成新版本數據庫的統計信息,但是會創建一個腳本文件,執行該文件:

./analyze_new_cluster.sh

如果確認升級成功,可以選擇刪除或者保留舊的數據庫軟件和集群。pg_upgrade 同樣提供了一個刪除舊數據庫集群的腳本:

./delete_old_cluster.sh

然后可以刪除舊版本的 PostgreSQL 軟件,例如 CentOS 可以執行以下命令:

yum remove postgresql12*

如果想要回退到舊版本的數據庫,可以分為不同的情況:

1. 如果只運行了 --check 選項命令,表示沒有真正執行升級,重新啟動服務即可;

2. 如果升級時沒有使用 --link 選項,舊版本的數據庫集群沒有任何修改,重新啟動服務即可;

3. 如果升級時使用了 --link 選項,數據庫文件可能已經被新版本的集群使用:

 3.1. 如果 pg_upgrade 在鏈接操作之前終止,舊版本的數據庫集群沒有任何修改,重新啟動服務即可;

 3.2. 如果沒有啟動過新版本的后臺服務,舊版本的數據庫集群沒有修改,但是鏈接過程已經將 $PGDATA/global/pg_control 文件重命名為 $PGDATA/global/pg_control.old;此時需要將該文件名中的 .old 后綴去掉,然后重新啟動服務即可;

 3.3. 如果已經啟動了新版本的數據庫集群,已經修改了數據庫文件,再啟動舊版本的服務可能導致數據損壞;此時需要通過備份文件還原舊版本的數據庫。

關于 pg_upgrade 的詳細使用和升級注意事項,例如流復制結構和日志傳輸復制結構中備用節點的升級,可以參考官方文檔。

使用邏輯復制功能進行升級

PostgreSQL 邏輯復制支持跨版本之間的數據復制,而且支持不同平臺之間的復制,因此也可以用于實現版本升級。我們可以安裝一個新版本的數據庫作為復制的從節點,當數據已經同步時執行一次主從切換,然后關閉舊版本的主節點。主從切換的升級方法通常只需要幾秒鐘就能完成,利用第三方高可用組件甚至可以實現零停機時間升級。

PostgreSQL 10 開始提供了內置的邏輯復制功能,或者也可以使用 pglogical、Slony、Londiste 以及 Bucardo 等邏輯復雜工具。

關于 PostgreSQL 邏輯復制結構的創建和主從切換,可以參考官方文檔。

總結

PostgreSQL 小版本升級只需要替換二進制文件即可,跨版本升級的方案主要有三種:通過 pg_dump/pg_dumpall 邏輯備份與還原進行升級,利用 pg_upgrade 工具進行升級,使用邏輯復制功能進行升級。了解它們的優缺點和適用場景可以幫助我們選擇最佳的升級方式。

責任編輯:華軒 來源: SQL編程思想
相關推薦

2018-12-12 15:50:13

2020-12-11 10:40:13

PostgreSQL數據庫GitLab

2021-07-15 16:58:45

數據庫RDS Postgre阿里云

2020-10-15 14:05:30

PostgreSQL升級開發

2014-01-02 09:57:56

PostgreSQL命令

2024-05-22 19:10:18

跨域Web開發

2014-04-08 09:49:27

PostgreSQL雙緩沖

2020-09-17 13:33:39

開發

2009-10-22 17:48:32

linux gcc版本

2021-05-27 05:22:28

前端引擎平臺

2017-06-08 09:40:43

PostgreSQLdblink跨庫查詢

2014-08-19 10:36:02

AngularCORS

2018-09-07 10:23:46

云備份混合云存儲

2021-02-06 07:04:24

Linux運維Linux系統

2009-07-03 08:42:37

查詢監控工具PostgreSQL

2014-10-15 10:56:43

CiscoUCSfirmware

2018-01-26 08:39:03

2012-05-09 10:08:41

跨機房

2023-05-06 15:32:04

2010-07-01 13:51:55

升級SQL Serve
點贊
收藏

51CTO技術棧公眾號

欧美日韩在线免费观看| 日韩精品色哟哟| 欧美一级免费大片| 日韩精品福利片午夜免费观看| 一级黄在线观看| 98精品视频| 欧美成人乱码一区二区三区| 欧美视频在线观看网站| 全色精品综合影院| 日本一不卡视频| 久久视频免费在线播放| wwwxxxx在线观看| 久久久123| 欧美国产精品一区二区三区| 国产福利久久精品| 在线视频欧美亚洲| 国产亚洲精品久久久久婷婷瑜伽| 色七七影院综合| 一本加勒比波多野结衣| 96视频在线观看欧美| 日韩欧美国产免费播放| 一本久久a久久精品vr综合| 凸凹人妻人人澡人人添| 毛片av中文字幕一区二区| 午夜精品99久久免费| 91社区视频在线观看| 极品尤物一区| 日韩一级免费观看| 国产九九热视频| 国模冰冰炮一区二区| 亚洲午夜私人影院| 亚洲国产精品女人| av在线资源站| 久久精品视频在线免费观看| 黄色99视频| 亚洲乱熟女一区二区| 蜜桃久久精品一区二区| 日本欧美国产在线| 粉嫩aⅴ一区二区三区| 欧美人成在线| 欧美成人亚洲成人| 麻豆网址在线观看| 欧美激情欧美| 中文字幕久热精品在线视频| 国产福利短视频| 极品束缚调教一区二区网站 | 国产亚洲a∨片在线观看| 精品中文字幕在线播放| 加勒比色老久久爱综合网| 欧美一区二区高清| 伊人av在线播放| 97久久综合精品久久久综合| 日韩欧美一区电影| 国产男女无遮挡猛进猛出| 国产精品一区二区三区www| 欧美日韩久久久久久| 日韩一级理论片| 高清av一区二区三区| 在线欧美日韩精品| 中文久久久久久| 久久99国产精品二区高清软件| 欧美在线观看视频一区二区| 亚洲 激情 在线| 成人在线日韩| 日韩精品一区二区三区视频| 欧美一级大片免费看| 在线视频亚洲欧美中文| 亚洲成人xxx| 国产a级黄色片| 亚洲涩涩av| 一区二区三区在线播放欧美| 日韩欧美在线视频播放| 亚洲国产精品91| 欧美激情视频在线观看| 日产电影一区二区三区| 亚洲综合三区| 国产精品久久久av久久久| 一炮成瘾1v1高h| 盗摄精品av一区二区三区| 久久久久久九九九九| 成人免费一区二区三区视频网站| 国产精品黄色在线观看| 六月婷婷激情综合| 小草在线视频免费播放| 天天做天天摸天天爽国产一区| 欧美图片激情小说| 欧美片第一页| 91精品国产一区二区三区| 粉嫩高清一区二区三区精品视频 | 青青草手机在线视频| 红桃视频欧美| 国产国产精品人在线视| 国产一区二区网站| 成人av在线播放网址| 日韩精品一区二区三区四区五区| 精品51国产黑色丝袜高跟鞋| 午夜视频在线观看一区二区| 丁香婷婷激情网| 深夜福利一区| 一区二区三区天堂av| 美女视频黄免费| 首页国产欧美日韩丝袜| 亚洲影院污污.| 青青久在线视频免费观看| 国产精品久久久久一区二区三区共| 国产成人艳妇aa视频在线| 亚洲1234区| 亚洲精品一区二区三区影院| 91狠狠综合久久久久久| 夜夜嗨av一区二区三区网站四季av| 国产精品一香蕉国产线看观看| 风流少妇一区二区三区91| 欧美激情资源网| 免费一级特黄特色毛片久久看| 色综合一区二区日本韩国亚洲 | 国产呦小j女精品视频| 66久久国产| 国产精品草莓在线免费观看 | 豆国产96在线|亚洲| 日本免费高清一区| 成人爽a毛片免费啪啪动漫| 欧美日本在线播放| 性欧美13一14内谢| 国产一区日韩欧美| 成人福利网站在线观看| 久久电影视频| 婷婷国产在线综合| 日本少妇xxxx软件| 中文字幕一区二区av| 国产精品网红直播| 黄色影院在线播放| 日韩欧美一区二区三区| 中文字幕第3页| 亚洲特色特黄| 99久久精品无码一区二区毛片| 日本黄色片在线观看| 欧美色视频在线观看| 亚洲欧美va天堂人熟伦 | 色天使在线观看| 国产一区二区三区电影在线观看| 欧美亚洲激情视频| 少妇人妻精品一区二区三区| 亚洲中国最大av网站| 欧美在线a视频| 亚洲91精品| 成人免费观看网址| 国产欧美黑人| 日韩三级电影网址| 免看一级a毛片一片成人不卡| 国产在线不卡一卡二卡三卡四卡| 正在播放一区| 麻豆视频久久| 欧美极品少妇xxxxx| 亚洲精选一区二区三区| 亚洲成在线观看| 欧亚乱熟女一区二区在线| 精品96久久久久久中文字幕无| 成人xxxxx色| 懂色av一区| 日韩精品在线看| 福利网址在线观看| 欧美激情综合五月色丁香小说| 一级在线免费视频| 天天做天天爱天天综合网2021| 成人在线激情视频| 午夜激情在线| 亚洲精品97久久| 亚洲第一网站在线观看| 国产精品区一区二区三| 91精品国产三级| 在线精品观看| 日本在线免费观看一区| 欧美电影在线观看网站| 久久97久久97精品免视看 | 欧美黄色网络| 久久91亚洲人成电影网站| 少妇高潮久久久| 欧美性三三影院| 国产在线一卡二卡| 成人av午夜电影| 青青草av网站| 国产中文一区| 日本精品一区二区三区高清 久久| 青草综合视频| 国模吧一区二区| 国产一二三在线观看| 宅男在线国产精品| 青青国产在线观看| 国产精品亲子乱子伦xxxx裸| 少妇伦子伦精品无吗| 美女日韩在线中文字幕| 欧美日韩在线免费观看视频| 欧美丝袜足交| 成人欧美一区二区三区在线| 久久久男人天堂| 日韩中文字幕第一页| 人妻夜夜爽天天爽| 欧美三级韩国三级日本三斤| 久久亚洲AV无码| 国产亚洲午夜高清国产拍精品| 亚洲视频在线不卡| 久久久www| 欧美图片激情小说| 天天久久综合| 欧美一二三四五区| 亚洲日本视频在线| 国产欧美日韩精品在线观看| 国产传媒在线观看| 不卡av电影院| av在线收看| 国产视频综合在线| 亚洲av无码乱码国产麻豆| 欧洲国产伦久久久久久久| 国产亚洲欧美精品久久久www| 国产精品天美传媒沈樵| av网站有哪些| 丰满少妇久久久久久久| 亚洲xxx在线观看| 亚洲欧美久久久| 精品国产一区二区三区无码| 99久久精品费精品国产| 欧洲亚洲一区| 欧美亚洲国产日韩| 国产伦精品一区二区三区照片91 | 欧美久久久影院| 久久久久久在线观看| 精品免费在线视频| 久久久久免费看| 亚洲色图一区二区三区| 亚洲第一视频区| 久久久不卡网国产精品一区| 国产极品一区二区| 成人综合婷婷国产精品久久免费| 亚洲精品第三页| 蜜桃精品视频在线| 日韩在线第三页| 老司机午夜免费精品视频| 欧美视频免费看欧美视频| 国内揄拍国内精品久久| 欧美美女黄色网| 女人香蕉久久**毛片精品| 久久久国产精华液999999| 久久亚洲在线| 一本一道久久a久久精品综合| 精品国产一区探花在线观看| 青青影院一区二区三区四区| 欧美日韩伦理在线免费| 五月天亚洲综合| 欧美wwwww| 樱空桃在线播放| 欧美视频四区| 精品少妇在线视频| 99精品免费| 18禁免费无码无遮挡不卡网站| 999亚洲国产精| 99999精品视频| 日本欧美在线观看| 在线黄色免费看| 国产成人免费在线| 999精品免费视频| 久久久久国产精品麻豆ai换脸| 欧美成人国产精品一区二区| 国产精品久久三| 四虎免费在线视频| 午夜欧美一区二区三区在线播放| 国产精品 欧美 日韩| 狠狠干狠狠久久| 丰满人妻一区二区三区四区| 欧美伦理视频网站| 成人毛片在线免费观看| 亚洲伦理中文字幕| aiai在线| 欧美丰满老妇厨房牲生活 | www.久久国产| 国产精品毛片a∨一区二区三区| 国产成人av免费在线观看| 亚洲综合色区另类av| www.伊人久久| 欧美三级韩国三级日本三斤| 朝桐光av在线一区二区三区| 亚洲国产欧美一区二区丝袜黑人| 你懂的免费在线观看视频网站| 日韩中文在线中文网三级| 青青青草视频在线| 清纯唯美亚洲激情| www一区二区三区| 久久精品aaaaaa毛片| 日韩综合一区| 国产原创中文在线观看| 人禽交欧美网站| 精品国产乱码久久久久夜深人妻| 久久美女高清视频| 欧美日韩免费做爰视频| 色哟哟精品一区| 国产成人精品亚洲精品色欲| 精品亚洲一区二区三区四区五区| 3d成人动漫在线| 韩国欧美亚洲国产| 成人综合网站| 狠狠色综合欧美激情| 五月精品视频| 已婚少妇美妙人妻系列| 国产v综合v亚洲欧| 毛片aaaaaa| 欧美日韩国产一区在线| 国产成人三级一区二区在线观看一 | 午夜伦理精品一区| 国产精品一区二区三区av| 日本一区二区三区视频免费看| 亚洲性人人天天夜夜摸| 亚洲天堂国产视频| 久久久九九九九| 日本一区二区三区免费视频| 欧美精品在线视频| 国产亚洲依依| 欧美在线观看网址综合| ady日本映画久久精品一区二区| 亚洲欧洲一区二区| 香蕉视频成人在线观看| 中文字幕永久免费| 国产精品伦一区| 欧美一级黄视频| 亚洲精品视频网上网址在线观看| 色呦呦在线免费观看| 91美女片黄在线观| 成人毛片在线| 日本三级免费网站| 成人黄页在线观看| 久久久久成人网站| 日韩欧美中文字幕精品| 久热国产在线| 成人美女免费网站视频| 欧美xxxx中国| 中文字幕在线综合| 欧美国产精品一区二区三区| 国产伦精品一区二区三区视频我| 亚洲精品99久久久久| av电影院在线看| 粉嫩精品一区二区三区在线观看 | 一色桃子久久精品亚洲| 中文字字幕在线观看| 日韩在线视频导航| 日韩av黄色| 午夜在线视频免费观看| 精品一区二区三区影院在线午夜| 黄色av免费播放| 欧美视频一区二区三区在线观看 | 天堂成人娱乐在线视频免费播放网站| 日本黄色片一级片| 国产成人在线电影| 久久久久久久久艹| 亚洲第一页自拍| 国产一二在线播放| 蜜桃精品久久久久久久免费影院| 亚洲综合精品四区| 性欧美一区二区| 欧美日韩在线不卡| 黄色免费网站在线观看| 91九色蝌蚪嫩草| 亚洲久色影视| 四虎永久免费影院| 欧美日韩一区在线观看| 浪潮av一区| 国产精品区一区二区三含羞草| 99热这里只有成人精品国产| 中文字幕免费视频| 欧美日韩一区二区三区四区 | 婷婷激情综合网| 黄色毛片在线观看| 国产在线观看91精品一区| 亚洲综合色站| 国产精品第七页| 欧美视频完全免费看| 在线观看中文| 久久综合一区二区三区| 秋霞午夜鲁丝一区二区老狼| av成人免费网站| 亚洲精品一区二区久| 福利一区二区免费视频| 国产1区2区3区中文字幕| 97久久超碰精品国产| 亚洲综合成人av| 色综合久久天天综线观看| 夜夜躁狠狠躁日日躁2021日韩| 国产又大又黄又粗又爽| 亚洲一级不卡视频| 久久久久久久影视| 亚洲一区二区三区毛片| 国产精品日韩| 91精品一区二区三区蜜桃| 亚洲国产三级网| 国产精品麻豆成人av电影艾秋| 草草草视频在线观看| 久久久www免费人成精品| 亚洲AV午夜精品| 国产精品都在这里| 亚洲国产美女| 中文字幕电影av| 亚洲欧美激情一区| 日韩中文字幕视频网|