向左向右

数据库postgresql升级到17

postgresql
数据库

自从把msyql改为了postgresql也有一段时间了,目前个人项目都是在用postgresql16,17也发布又一段时间了,最近晚上突然想到一个关于go事务的控制好方法,就为自己的框架gowk趁夜深人静时增加了事务控制,顺便也把postgresql16升级到了17。

postgresql

先用的是16,小版本升级,直接更新就行,重新构建镜像iautre/postgres,更改版本重启docker-compose就行了,但是更新到17版本,就不能直接升级了,还需要升级数据

官方的升级数据方案是pg_upgrade,对于大量数据效率更好,不过需要用到旧版本的bin,略显麻烦,对于个人项目数据量不大,直接备份再恢复更快捷,而且使用的docker-compose部署的,配置参数都都是现成的,不同更改。

旧容器备份

docker exec -it postgres /usr/local/bin/pg_dumpall -c -U postgres -f /var/lib/postgresql/backup/all_db_dump_`date +"%Y-%m-%d_%H-%M_%S"`.sql

更换新容器后恢复

docker exec -it postgres psql -U postgres -f /var/lib/postgresql/backup/all_db_dump_2024-10-31_11-29_41.sql

恢复后,新容器正常服务了。

关注 “AUTRE” 微信公众号,给我留言
关注我