PostgreSQL大版本升級(jí)的詳細(xì)流程
本文詳細(xì)講解了從14.11升級(jí)到15.6,使用pg_dumpall進(jìn)行備份恢復(fù)升級(jí)的過(guò)程
前沿
PostgreSQL版本發(fā)布規(guī)則,一年一個(gè)大版本,一個(gè)季度一個(gè)小版本;PG遇到的BUG問(wèn)題,社區(qū)會(huì)很快進(jìn)行修復(fù),并在下一個(gè)版本中發(fā)布,因此有必要進(jìn)行對(duì)數(shù)據(jù)庫(kù)版本升級(jí),避免觸發(fā)已知的BUG帶來(lái)業(yè)務(wù)系統(tǒng)的不穩(wěn)定。
1.確認(rèn)舊庫(kù)編譯
如果使用源碼編譯安裝,configure 配置和原庫(kù)一致。
可以使用pg_config查看舊版本數(shù)據(jù)庫(kù)安裝時(shí)的配置參數(shù)。
2.安裝新版本數(shù)據(jù)庫(kù)
[root@pgpcp ~]# cp /opt/postgresql-15.6.tar.gz /pgccc/soft
[root@pgpcp ~]# chown -R postgres:postgres /pgccc/soft
[root@pgpcp ~]# chmod -R 775 /pgccc/soft
[root@pgpcp ~]# su - postgres
[postgres@pgpcp ~]$ cd /pgccc/soft/
[postgres@pgpcp soft]$ tar zxvf postgresql-15.6.tar.gz
[postgres@pgpcp ~] m k d i r − p / p g c c c / p g s q l − 15 [ p o s t g r e s @ p g p c p ] mkdir -p /pgccc/pgsql-15 [postgres@pgpcp ~] mkdir−p/pgccc/pgsql−15[postgres@pgpcp ]cd /pgccc/soft/postgresql-15.6
[postgres@pgpcp postgresql-15.6]$./configure --prefix=/pgccc/pgsql-15 --without-readline
–編譯及安裝
[postgres@pgpcp postgresql-15.6]$ make && make install
3.新版數(shù)據(jù)庫(kù)初始化目錄
注意:只初始化數(shù)據(jù)庫(kù),不啟動(dòng)
/pgccc/pgsql-15/bin/initdb -D
/pgccc/pgsql-15/pgdata -E UTF8
–locale=en_US.utf8 -U postgres
4.舊版本數(shù)據(jù)庫(kù)進(jìn)行備份
pg_dumpall -Upostgres -f
/home/postgres/dumpall_data.sql
5.停舊版本數(shù)據(jù)庫(kù)
pg_ctl -D /pgccc/pgdata stop
6.檢查新舊數(shù)據(jù)庫(kù)版本兼容性
注意:如果版本兼容性有問(wèn)題,需要解決
cd /pgccc/pgsql-15/bin/
./pg_upgrade --old-datadir /pgccc/pgdata/
–new-datadir /pgccc/pgsql-15/pgdata/
–old-bindir /pgccc/pgsql-14/bin/
–new-bindir /pgccc/pgsql-15/bin/ --check
7.升級(jí)數(shù)據(jù)庫(kù)
cd /pgccc/pgsql-15/bin/
./pg_upgrade --old-datadir /pgccc/pgdata/
–new-datadir /pgccc/pgsql-15/pgdata/
–old-bindir /pgccc/pgsql-14/bin/
–new-bindir /pgccc/pgsql-15/bin/
8.啟動(dòng)新版本數(shù)據(jù)庫(kù)
cd /pgccc/pgsql-15/bin/
./pg_ctl -D /pgccc/pgsql-15/pgdata/ start
9.調(diào)整環(huán)境變量
vi /home/postgres/.bash_profile export PATH export PS1="[\u@\h \W]\$" export LANG=en_US.UTF-8 export PGPORT=5432 export PGDATA=/pgccc/pgsql-15/pgdata export PGHOME=/pgccc/pgsql-15 export PATH=/pgccc/pgsql-15/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:. export PGUSER=postgres export PGDATABASE=postgres [postgres@pgpcp ~]$source /home/postgres/.bash_profile
10.收集統(tǒng)計(jì)信息
vacuumdb --all --analyze-in-stages
11.刪除舊版本數(shù)據(jù)庫(kù)的數(shù)據(jù)
cd /pgccc/pgsql-15/bin/
./delete_old_cluster.sh
12.總結(jié)
Postgresql是一個(gè)非?;钴S的社區(qū)開(kāi)源項(xiàng)目,更新速度很快,每一次版本的更新都會(huì)積極的修復(fù)舊版本的BUG,性能上也會(huì)有不同幅度的提升。
以上就是PostgreSQL大版本升級(jí)的詳細(xì)流程的詳細(xì)內(nèi)容,更多關(guān)于PostgreSQL大版本升級(jí)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
postgres array_to_string和array的用法講解
這篇文章主要介紹了postgres array_to_string和array的用法講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01PostgreSQL 如何查找需要收集的vacuum 表信息
這篇文章主要介紹了PostgreSQL 如何查找需要收集的vacuum 表信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02在windows下手動(dòng)初始化PostgreSQL數(shù)據(jù)庫(kù)教程
在windows下手動(dòng)初始化PG,是一件比較麻煩的事,下面我具體寫(xiě)一下過(guò)程,大家做一下參考。2014-09-09PostgreSQL定時(shí)清理舊數(shù)據(jù)的實(shí)現(xiàn)方法
最近覺(jué)得數(shù)據(jù)庫(kù)中每日數(shù)據(jù)不需要都保持,只需要保留30天的,所以這篇文章給大家介紹了PostgreSQL定時(shí)清理舊數(shù)據(jù)的實(shí)現(xiàn)方法,文中通過(guò)代碼示例和圖文給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2024-03-03PostgreSQL 實(shí)現(xiàn)登錄及修改密碼操作
這篇文章主要介紹了PostgreSQL 實(shí)現(xiàn)登錄及修改密碼操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01PostgreSQL設(shè)置時(shí)間自動(dòng)更新的示例代碼
在我們?nèi)粘i_(kāi)發(fā)中,在設(shè)計(jì)數(shù)據(jù)庫(kù)字段的時(shí)候不可避免的都要created_time以及updated_time兩個(gè)時(shí)間戳字段,作用大家也都一目了然,下面將為大家詳細(xì)介紹PostgreSQL設(shè)置時(shí)間自動(dòng)更新的方法,需要的朋友可以參考下2025-03-03postgresql數(shù)據(jù)庫(kù)安裝部署搭建主從節(jié)點(diǎn)的詳細(xì)過(guò)程(業(yè)務(wù)庫(kù))
這篇文章主要介紹了postgresql數(shù)據(jù)庫(kù)安裝部署搭建主從節(jié)點(diǎn)的詳細(xì)過(guò)程(業(yè)務(wù)庫(kù)),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01PostgreSQL去掉表中所有不可見(jiàn)字符的操作
這篇文章主要介紹了PostgreSQL去掉表中所有不可見(jiàn)字符的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12初識(shí)PostgreSQL存儲(chǔ)過(guò)程
這篇文章主要介紹了初識(shí)PostgreSQL存儲(chǔ)過(guò)程,本文講解了PostgreSQL中存儲(chǔ)過(guò)程的語(yǔ)法,并給出了一個(gè)操作實(shí)例,需要的朋友可以參考下2015-01-01