最近推出了postgres 9.2.4版本,旨在打乙個安全補丁,需要做乙個公升級,公升級的步驟文件上也寫得較為詳細(part 17),一般有pg_upgrade和dump/restore兩種方式,對9.2.0及以上版本採用直接編譯安裝的方式即可,9.2.0以下版本還需要 dump/restore方式,中間會涉及停機操作,做好業務溝通工作。本次公升級,資料量較大的版本是9.2.0,其他小版本的資料量相對不大,故採用後 一種方式公升級。
步驟:
1.備份還有一種不用資料dump匯出的pg_upgrade方式,後續再記。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()與系統時間是否匹配來檢查
就這樣吧。
Postgres 9 2 4的公升級方案與步驟
postgres 9.2.4的公升級方案與步驟 社群最近推出了postgres 9.2.4版本,旨在打乙個安全補丁,需要做乙個公升級,公升級的步驟文件上也寫得較為詳細 part 17 一般有pg upgrade和dump restore兩種方式,對9.2.0及以上版本採用直接編譯安裝的方式即可,9....
空間mysql公升級 MySQL公升級的3種方法
mysql資料庫的版本更新很快,新的特性也隨之不斷的更新,更主要的是解決了很多影響我們應用的bug,為了讓我們的mysql變得更美好,我們有必要去給它公升級,儘管你會說它現在已經跑得很好很穩定完全夠用了。下面我們來看看幾種常用的公升級方法。介紹之前,我們先做一些宣告,mysql採用二進位製包來安裝,...
VMware中安裝gcc和公升級gdb的方法
今天換了一台電腦,沒裝ubuntu,所以先裝了個vmware用一段時間。vmware預設是沒有安裝gcc的,且預設的gdb版本比較低,不能和gcc一起debug,所以需要自己動手安裝和公升級,我把這個過程記錄下來,跟大家分享一下。1 安裝gcc 未安裝之前,用gcc編譯會提示error trying...