Postgres 9 2 4的公升級方案與步驟

2021-12-29 19:43:49 字數 2043 閱讀 5719

postgres 9.2.4的公升級方案與步驟

社群最近推出了postgres 9.2.4版本,旨在打乙個安全補丁,需要做乙個公升級,公升級的步驟文件上也寫得較為詳細(part 17),一般有pg_upgrade和dump/restore兩種方式,對9.2.0及以上版本採用直接編譯安裝的方式即可,9.2.0以下版本還需要dump/restore方式,中間會涉及停機操作,做好業務溝通工作。本次公升級,資料量較大的版本是9.2.0,其他小版本的資料量相對不大,故採用後一種方式公升級。 

步驟 :

1.備份

pg_dump -h 192.168.2.150 -p 5432 -u postgres -b -fp  db_kenyon  -f db.bak

安全起見,備份出來的檔案檢查一下是否正常,能否正確匯入,最好記一下使用者名稱及密碼等

2.關閉服務

pg_stop

ps -ef|grep postgres 檢查一下

3.編譯postgresql_9.2.4,原先是9.1.3

[postgres@kenyon ~] $tar -zxvf postgresql_9.2.4.tar.gz

[postgres@kenyon ~] cd postgresql_9.2.4

[postgres@kenyon postgresql_9.2.4]./configure --prefix=/home/postgres --with-pgport=5432 --with-segsize=8 --with-wal-segsize=64 --with-wal-blocksize=64 --with-perl --with-python --with-openssl --with-pam --with-ldap --with-libxml --with-libxslt --enable-thread-safety 

[postgres@kenyon postgresql_9.2.4]gmake world

[postgres@kenyon postgresql_9.2.4]gmake install-world

如果順利的話,這個時候可以看一下bin是否已經換成9.2.4

[postgres@kenyon postgresql_9.2.4]$ psql -v

psql (postgresql) 9.2.4

[postgres@kenyon postgresql_9.2.4]$

說明bin檔案等已經ok

如果原始版本是9.2.0及以上,可忽略以下步驟,直接啟動postgres,如果是9.2.0以下版本,直接啟動會報錯,則繼續,類似initdb與configure版本不一致的問題

4.修改資料檔案

[postgres@kenyon ~]mv /database/pgdata /database/pgdata.old

[postgres@kenyon ~]mkdir /database/pgdata

5.初始化db

[postgres@kenyon ~]$initdb -d /database/pgdata -e utf8 --locale=c -u postgres -w

6.拷貝老的postgresql.conf與pg_hba.conf檔案到新的$pgdata下

[postgres@kenyon ~]$cp /database/pgdata.old/postgresql.conf /database/pgdata/postgresql.conf

[postgres@kenyon ~]$cp /database/pgdata.old/hba.conf /database/pgdata/hba.conf

7.啟動資料庫

pg_start

--如果是單個庫匯出恢復則建一下db和相關的使用者,省得匯入報錯

8.恢復資料

[postgres@kenyon ~]$psql -d db_kenyon -f db.bak

9.檢查

檢查資料、應用及日誌是否有異常,還有一些容易遺漏的引數如timezone等,這個可以通過資料庫裡select now()與系統時間是否匹配來檢查

還有一種不用資料dump匯出的pg_upgrade方式,後續再記。 

就這樣吧。

Postgres 9 2 4的公升級方案與步驟

最近推出了postgres 9.2.4版本,旨在打乙個安全補丁,需要做乙個公升級,公升級的步驟文件上也寫得較為詳細 part 17 一般有pg upgrade和dump restore兩種方式,對9.2.0及以上版本採用直接編譯安裝的方式即可,9.2.0以下版本還需要 dump restore方式,...

空間mysql公升級 MySQL公升級的3種方法

mysql資料庫的版本更新很快,新的特性也隨之不斷的更新,更主要的是解決了很多影響我們應用的bug,為了讓我們的mysql變得更美好,我們有必要去給它公升級,儘管你會說它現在已經跑得很好很穩定完全夠用了。下面我們來看看幾種常用的公升級方法。介紹之前,我們先做一些宣告,mysql採用二進位製包來安裝,...

VMware中安裝gcc和公升級gdb的方法

今天換了一台電腦,沒裝ubuntu,所以先裝了個vmware用一段時間。vmware預設是沒有安裝gcc的,且預設的gdb版本比較低,不能和gcc一起debug,所以需要自己動手安裝和公升級,我把這個過程記錄下來,跟大家分享一下。1 安裝gcc 未安裝之前,用gcc編譯會提示error trying...