在Debian trixie中升级PostgreSQL 15到PostgreSQL 17
首先,升级Debian bookworm到Debian trixie。
升级后,不要急。不要急着清理(purge)旧的软件包。待升级PostgreSQL 15到PostgreSQL 17后,再清理旧的postgresql-15软件包。
如果你和我一样,已经将postgresql-15软件包清理了,则需要先安装postgresql-15软件包。当然,Debian trixie已经不再提供postgres-15软件包了,所以需要从第三方处安装。
如果已经将postgresql-15包清理了,执行下列脚本:
/usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
该脚本将Postgreql官方提供的(而不是Debian项目提供的)仓库加入软件源中。
再更新软件源。
apt update
再安装postgresql-15软件包。
apt install postgresql-15
执行postgresql数据的更新。
查看先有的数据库集群:
pg_lscluster
升级数据库集群:
pg_upgradecluster -v 17 15 main
该命令将版本15的main集群升级为版本17的main集群。
升级完成后,检查数据库集群是否可用。如果可用,可以考虑删除旧的集群。
pg_dropcluster 15 main
注意:
升级数据库有操作失败、硬件故障、软件错误等问题,应预先备份数据库。
如果数据库使用了插件,应自行检查插件的可升级性。
不同的数据库集群有各自的特点,因此,此处所列也许不适合你的数据库集群。
升级之前,应制订升级预案。