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 
相关文章
|
8月前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
242 0
|
8天前
|
存储 Java 数据库连接
时序数据库TDengine 3.3.5.0 发布:高并发支持与增量备份功能引领新升级
TDengine 3.3.5.0 版本正式发布,带来多项更新与优化。新特性包括提升 MQTT 稳定性和高并发性能、新增 taosX 增量备份与恢复、支持 JDBC 和 Rust 连接器 STMT2 接口、灵活配置 Grafana Dashboard 等。性能优化涵盖查询内存管控、多级存储迁移、强密码策略等,全面提升时序数据管理的效率和可靠性。欢迎下载体验并提出宝贵意见。
23 5
|
7月前
|
Cloud Native 关系型数据库 分布式数据库
《阿里云产品四月刊》—瑶池数据库云原生化和一体化产品能力升级
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
113 1
|
5月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
3月前
|
监控 关系型数据库 MySQL
如何升级MySQL数据库?
【10月更文挑战第16天】如何升级MySQL数据库?
|
7月前
|
存储 SQL 多模数据库
多模数据库Lindorm再升级:对接Dataphin,打通数据治理“最后一公里”
Lindorm通过与Dataphin的深度整合,进一步解决了数据集成和数据治理的问题,为企业提供更加高效和更具性价比的方案。
多模数据库Lindorm再升级:对接Dataphin,打通数据治理“最后一公里”
|
6月前
|
关系型数据库 MySQL 测试技术
如何进行数据库的升级?
【7月更文挑战第21天】如何进行数据库的升级?
420 1
|
6月前
|
关系型数据库 MySQL 测试技术
数据库升级是一个涉及数据备份、新版本安装、数据迁移和测试等关键环节的复杂过程
【7月更文挑战第21天】数据库升级是一个涉及数据备份、新版本安装、数据迁移和测试等关键环节的复杂过程
178 1
|
6月前
|
关系型数据库 MySQL 测试技术
数据库升级
【7月更文挑战第21天】数据库升级
71 1
|
5月前
|
运维 监控 数据库
在OceanBase数据库中,obd集群版本需在线升级4.3.1.0升级至4.3.2
【8月更文挑战第14天】在OceanBase数据库中,obd集群版本需在线升级4.3.1.0升级至4.3.2
115 0

热门文章

最新文章