51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

PostgreSQL13 升级 14 两种方法

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

pg_upgrade 法 {#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 法 {#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 |

赞(1)
未经允许不得转载:工具盒子 » PostgreSQL13 升级 14 两种方法