日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

pg_upgrade升级数据库9.1.1-9.4.5

發布時間:2025/3/15 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pg_upgrade升级数据库9.1.1-9.4.5 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
實際操作:?

已有環境和pg?
192.168.12.231?? pg9.1.1?
端口 5432??
安裝目錄 /pgtina?
數據目錄 /pgtina/data?

1、在本機器上安裝9.4.5??
端口 1922?? --隨意指定,但不可與之前的一樣?
安裝目錄 /pgnew?
數據目錄 /pgnew/data?
?????
./configure --prefix=/pgnew? --with-pgport=1922 && gmake world && gmake install-world?
安裝時候記得帶world,內外模塊都要,不然找不到pg_upgrade?


2、修改屬主?
[root@datanode1 /]# chown -R postgres:postgres pgnew?
[root@datanode1 /]# chmod 700 /pgnew?
[postgres@datanode1 pgtina]$ chmod 700 data?

3、初始化新庫?
[postgres@datanode1 pgnew]$ mkdir data?
[postgres@datanode1 pgnew]$ /pgnew/bin/initdb -E UTF8 -D /pgnew/data --locale=C -U postgres -W?? ---初始化locale指定錯誤,按照下面的來?

4、修改pg_hba.cof?
因為升級需要多次連接新老集群數據庫實例, 所以修改為使用本地trust認證.?
postgres@localhost-> vi /pgdata01/pg_root/pg_hba.conf?
postgres@localhost-> vi /pgdata01/pg_root_9.4/pg_hba.conf?
local?? all???????????? all???????????????????????????????????? trust?
host??? all???????????? all???????????? 127.0.0.1/32??????????? trust?

5、修改postgresql.conf?
?? 注意使用不同的監聽端口. (PostgreSQL 9.4新增)?

6、停止舊庫?
pg_ctl -D /pgtina/data stop?

7、9.4的pg_upgrade檢測兼容性?
[postgres@datanode1 data]$ /pgnew/bin/pg_upgrade -c --link -b /pgtina/bin? -B /pgnew/bin -d /pgtina/data -D /pgnew/data -p 5432 -P 1922 -U postgres?
Performing Consistency Checks?
-----------------------------?
Checking cluster versions?????????????????????????????????? ok?

*failure*?
Consult the last few lines of "pg_upgrade_server.log" for?
the probable cause of the failure.?

connection to database failed: could not connect to server: No such file or directory?
Is the server running locally and accepting?
connections on Unix domain socket "/pgnew/data/.s.PGSQL.5432"??? ---之前/data目錄的權限不是700,修改后就好了?

could not connect to old postmaster started with the command:?
"/pgtina/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "/pgtina/data" -o "-p 5432 -b? -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directory='/pgnew/data'" start?
Failure, exiting????
----檢測失敗?

重新初始化:?
[postgres@datanode1 data]$ /pgnew/bin/pg_upgrade -c --link -b /pgtina/bin? -B /pgnew/bin -d /pgtina/data -D /pgnew/data -U postgres?
Performing Consistency Checks?
-----------------------------?
Checking cluster versions?????????????????????????????????? ok?
Checking database user is a superuser?????????????????????? ok?
Checking database connection settings?????????????????????? ok?
Checking for prepared transactions????????????????????????? ok?
Checking for reg* system OID user data types??????????????? ok?
Checking for contrib/isn with bigint-passing mismatch?????? ok?
Checking for invalid "line" user columns??????????????????? ok?

lc_collate cluster values do not match:? old "en_US.UTF-8", new "C"?
Failure, exiting?

初始化的時候出了問題:?
刪除data目錄,重新做一次初始化?
/pgnew/bin/initdb -E UTF8 -D /pgnew/data --locale=en_US.UTF-8 -U postgres -W?
[postgres@datanode1 data]$ /pgnew/bin/pg_upgrade -c --link -b /pgtina/bin? -B /pgnew/bin -d /pgtina/data -D /pgnew/data -U postgres?
Performing Consistency Checks?
-----------------------------?
Checking cluster versions?????????????????????????????????? ok?
Checking database user is a superuser?????????????????????? ok?
Checking database connection settings?????????????????????? ok?
Checking for prepared transactions????????????????????????? ok?
Checking for reg* system OID user data types??????????????? ok?
Checking for contrib/isn with bigint-passing mismatch?????? ok?
Checking for invalid "line" user columns??????????????????? ok?
Checking for presence of required libraries???????????????? ok?
Checking database user is a superuser?????????????????????? ok?
Checking for prepared transactions????????????????????????? ok?

*Clusters are compatible*?

8、升級?
/pgnew/bin/pg_upgrade? --link -b /pgtina/bin? -B /pgnew/bin -d /pgtina/data -D /pgnew/data -U postgres -j 8 -k -r -v 去掉了-c?
升級成功后,日志文件被自動刪除,可以在命令行中用-r參數指定保留。?

9、升級完成:?
Upgrade Complete?
----------------?
Optimizer statistics are not transferred by pg_upgrade so,?
once you start the new server, consider running:?
??? analyze_new_cluster.sh??? ---腳本內容沒指定詳細參數?

Running this script will delete the old cluster's data files:?
??? delete_old_cluster.sh?
????
10、啟動新庫?
/pgnew/bin/pg_ctl -D /pgnew/data start?

11、登錄查看?
[postgres@datanode1 data]$ psql -h 127.0.0.1 -U postgres -p 1922?? ---不能直接使用psql,要指定位置才行。?
psql (9.1.1, server 9.4.5)?
WARNING: psql version 9.1, server version 9.4.?
???????? Some psql features might not work.?
Type "help" for help.?

postgres=#?

[postgres@datanode1 data]$ /pgnew/bin/psql -p 1922 -U postgres?
psql (9.4.5)?
Type "help" for help.?

postgres=#?

12、分析全庫?
[postgres@datanode1 data]$ "/pgnew/bin/vacuumdb" -U "postgres" --all --analyze-only -p 1922?
vacuumdb: vacuuming database "postgres"?
vacuumdb: vacuuming database "template1"?
vacuumdb: vacuuming database "tina"?

13、連接查看--正常?
[postgres@datanode1 data]$ /pgnew/bin/pg_ctl reload -D /pgnew/data?
server signaled?

總結

以上是生活随笔為你收集整理的pg_upgrade升级数据库9.1.1-9.4.5的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。