将Percona D雷竞技下载官网istribution for PostgreSQL从13升级到14¶
本文档介绍了如何使用升级工具就地升级Percona Distribution for Postg雷竞技下载官网reSQLpg_upgrade工具。就地升级是指在不删除旧版本的情况下安装新版本并将数据文件保留在服务器上。
再瞧瞧
与安装类似,我们建议您从Percona存储库升级Percona Distribution for Po雷竞技下载官网stgreSQL。
重要的
主要升级是一个有风险的过程,因为版本之间会发生许多更改,并且在升级期间或升级之后可能会出现问题。因此,请务必先备份数据。备份工具不在本文档的讨论范围之内。使用您选择的备份工具。
Percona Distribution for PostgreSQL的一般雷竞技下载官网就地升级流程如下:
安装Percon雷竞技下载官网a Distribution for PostgreSQL 14包。
停止PostgreSQL服务。
在不修改数据的情况下执行升级检查。
升级Percon雷竞技下载官网a Distribution for PostgreSQL。
启动PostgreSQL服务。
执行analyze_new_cluster.sh脚本生成统计数据,使系统可用。
删除旧的包和配置文件。
具体步骤可能因操作系统的包管理器而异。
在Debian和Ubuntu上使用恰当的¶
重要的
运行所有命令作为root或viasudo.
安装Percon雷竞技下载官网a Distribution for PostgreSQL 14包。
- 启用Perco雷竞技下载官网na存储库雷竞技下载官网percona-release用途:
$ sudo 雷竞技下载官网percona-release setup- 安装Percon雷竞技下载官网a Distribution for PostgreSQL 14包:
$ sudo apt install 雷竞技下载官网percona-postgresql- 安装组件:
$ sudo apt install 雷竞技下载官网percona-postgresql-14-repack \ percona-postgresql-14-pgaudit \ percona-pgbackrest \ percona-pgbadger \ percona-pgaudit14-set-user \ percona-pgbadger \ percona-postgresql-14-wal2json \ percona-pg-stat-monitor14 \raybet雷竞技竞猜在线官网 percona-postgresql-contrib percona-pgpool2停止
postgresql服务。$ sudo systemctl stop postgresql.service . sh这将停止Percona Dist雷竞技下载官网ribution for PostgreSQL 13和14。
执行数据库升级。
- 以
postgres用户。
$ sudo su postgres- 将当前目录更改为
tmp记录日志和一些脚本的目录:
cd tmp /- 检查Percona Distribution for Po雷竞技下载官网stgreSQL从13升级到14的能力:
$ /usr/lib/postgresql/14/bin/pg_upgrade——old-datadir=/var/lib/postgresql/13/main \——new-bindir=/usr/lib/postgresql/14/ main \——old-bindir=/usr/lib/postgresql/13/bin \——new-bindir=/usr/lib/postgresql/14/bin \——old-options '-c config_file=/etc/postgresql/13/main/postgresql.conf' \——new-options '-c config_file=/etc/postgresql/14/main/postgresql.conf' \——check的
——检查此处标志指示pg_upgrade只检查升级,不修改任何数据。样例输出
执行一致性检查-----------------------------检查集群版本检查数据库用户是否安装用户检查数据库连接设置检查准备的事务检查用户表中是否有reg*数据类型检查是否有bigint-passing不匹配检查是否有oid检查是否有无效的sql_identifier用户列检查是否存在所需的库检查是否有数据库用户检查是否安装用户确定检查准备好的事务ok *集群是否兼容*- 升级Percona Di雷竞技下载官网stribution for PostgreSQL
$ /usr/lib/postgresql/14/bin/pg_upgrade——old-datadir=/var/lib/postgresql/13/main \——new-bindir=/usr/lib/postgresql/14/ main \——old-bindir=/usr/lib/postgresql/13/bin \——new-bindir=/usr/lib/postgresql/14/bin \——old-options '-c config_file=/etc/postgresql/13/main/postgresql.conf' \——new-options '-c config_file=/etc/postgresql/14/main/postgresql.conf' \——的
——链接Flag创建到旧版本集群上文件的硬链接,因此您不需要复制数据。如果你不想用
——链接选项,确保您有足够的磁盘空间为旧版本和新版本集群存储2个文件副本。- 返回到普通用户:
退出- Post雷竞技下载官网greSQL 13的Percona发行版使用
5432端口,而Percona Dis雷竞技下载官网tribution for PostgreSQL 14设置为使用5433默认为端口。要启动Percona Di雷竞技下载官网stribution for PostgreSQL 14,需要交换两个版本的配置文件中的端口。
$ sudo vim /etc/postgresql/14/main/postgresql.conf $ port = 5433 #此处修改为5432 $ sudo vim /etc/postgresql/13/main/postgresql.conf $ port = 5432 #此处修改为5433- 以
启动
postgreqsl服务。$ sudo systemctl start postgresql.service检查
postgresql的版本。- 以postgres用户登录
$ sudo su postgres- 检查数据库版本
$ psql -c "SELECT version();"运行
analyze_new_cluster.sh脚本$ tmp/analyze_new_cluster.sh $ #Logout $ exit删除Perco雷竞技下载官网na Distribution for PostgreSQL 13软件包和配置文件
- 删除包
$ sudo apt remove 雷竞技下载官网percona-postgresql-13* percona-pgbackrest percona-patroni percona-praybet雷竞技竞猜在线官网g-stat-monitor13 percona-pgaudit13-set-user percona-pgbadger percona-pgbouncer percona-postgresql-13-wal2json- 删除旧文件
$ rm -rf /etc/postgresql/13/main
在Red Hat Enterprise Linux和CentOS上使用好吃。¶
重要的
运行所有命令作为root或viasudo.
安装Percon雷竞技下载官网a Distribution for PostgreSQL 14包
- 启用Perco雷竞技下载官网na存储库雷竞技下载官网percona-release用途:
$ sudo 雷竞技下载官网percona-release setup- 为Postgre雷竞技下载官网SQL 14安装Percona发行版
安装percona-postgresq雷竞技下载官网l14 server- 安装组件:
$ sudo yum install 雷竞技下载官网percona-pgaudit \ percona-pgbackrest \ percona-pg_repack14 \ percona-pgbadger \ percona-raybet雷竞技竞猜在线官网pgaudit14_set_user \ percona-pgbadger \ percona-wal2json14 \ percona-postgresql14-contrib percona-pgpool-II-pg14
为Postgr雷竞技下载官网eSQL 14集群设置Percona Distribution
日志以postgres用户记录
Sudo su postgres设置语言环境设置
出口LC_ALL = " en_US。utf - 8”export LC_CTYPE="en_US.UTF-8"使用新的数据目录初始化集群
/usr/pgsql-14/bin/initdb停止
postgresql13个服务$ systemctl stop postgresql-13执行数据库升级。
- 以
postgres用户
$ sudo su postgres- 检查Percona Distribution for Po雷竞技下载官网stgreSQL从13升级到14的能力:
$ /usr/pgsql-14/bin/pg_upgrade \——old-bindir /usr/pgsql-13/bin \——new-bindir /usr/pgsql-14/bin \——old-datadir /var/lib/pgsql/13/data \——new-datadir /var/lib/pgsql/14/data \——link——check的
——检查此处标志指示pg_upgrade只检查升级,不修改任何数据。样例输出
执行一致性检查-----------------------------检查集群版本检查数据库用户是否安装用户检查数据库连接设置检查准备的事务检查用户表中是否有reg*数据类型检查是否有bigint-passing不匹配检查是否有oid检查是否有无效的sql_identifier用户列检查是否存在所需的库检查是否有数据库用户检查是否安装用户确定检查准备好的事务ok *集群是否兼容*- 升级Percona Di雷竞技下载官网stribution for PostgreSQL
$ /usr/pgsql-14/bin/pg_upgrade \——old-bindir /usr/pgsql-13/bin \——new-bindir /usr/pgsql-14/bin \——old-datadir /var/lib/pgsql/13/data \——new-datadir /var/lib/pgsql/14/data \——链接的
——链接Flag创建到旧版本集群上文件的硬链接,因此您不需要复制数据。如果你不想用——链接选项,确保您有足够的磁盘空间为旧版本和新版本集群存储2个文件副本。- 以
启动
postgresql14服务。$ systemctl start postgresql-14检查postgresql状态
$ systemctl status postgresql-14运行
analyze_new_cluster.sh脚本- 以postgres用户登录
$ sudo su postgres- 运行脚本
美元。/ analyze_new_cluster.sh删除Perco雷竞技下载官网na Distribution for PostgreSQL 13配置文件
美元。/ delete_old_cluster.sh删除Perco雷竞技下载官网na Distribution for PostgreSQL 13包
- 删除包
删除percona-postgresql1雷竞技下载官网3*- 删除旧文件
$ rm -rf /var/lib/pgsql/13/data
创建:2021年6月4日