抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

经常会有小伙伴来聊天广场摸鱼,杜老师之前尝试直接更换 PostgreSQL 版本,结果差点导致数据丢失。最近整理了一些 PostgreSQL 版本升级方法,供有需要的小伙伴参考。

pg_upgrade 法

在开始升级前,请确保数据库已经完整备份。这可以通过使用 pg_dump 工具完成。

确保服务器已经安装 PostgreSQL14,包括客户端库。如果服务器上已经安装了 PostgreSQL13,需要先卸载它,然后再安装 PostgreSQL 14。

使用 pg_upgrade 工具来升级数据目录。例如,如果当前的数据目录位于/var/lib/postgresql/13/main,那么升级命令可参考 pg_upgrade -b /var/lib/postgresql/13/main -B /var/lib/postgresql/14/main -d /usr/local/pgsql/14/bin -u postgres

确保使用正确的路径和 PostgreSQL 14 的安装路径。

编辑主配置 postgresql.conf 文件,修改任何可能与新版本不兼容的设置。

使用 PostgreSQL14 启动服务器。

使用 psql 连接到数据库并检查版本信息,确保一切正常。

一旦确认升级成功,可以删除旧版本的数据目录。

pg_dump 法

在升级前,务必备份 PostgreSQL 数据库。可以使用 pg_dump 命令来创建数据库的备份:

1
pg_dump -h localhost -U postgres -Fc -f backup.dump mydb

安装新版本 PostgreSQL:

1
2
sudo apt-get update
sudo apt-get install postgresql-14

升级 PostgreSQL 的数据版本:

1
2
sudo pg_dropcluster --stop 13 main
sudo pg_upgradecluster 13 main

恢复数据:

1
pg_restore -h localhost -U postgres -d mydb backup.dump

删除旧版本 PostgreSQL:

1
sudo apt-get purge postgresql-13

重启 PostgreSQL 的服务:

1
sudo systemctl restart postgresql-14

评论