PostgreSQL 大版本升级主要有3种方式:
1、 pg_dumpall/pg_restore:
pg_dumpall 通过逻辑导出旧版本数据库结构、数据在新版本数据库上使用pg_restore 恢复,通过指定 -j 参数可以并行的导出、恢复加快升级速度,适用于数据量不大有充足的停机时间的场景。
2、 pg_upgrade:
pg_upgrade 分原地升级和非原地升级2种,原地升级通过指定--link 参数 链接方式指向旧版数据文件进行升级,升级速度快;非原地升级通过copy 旧版本数据文件到新版本数据目录下进行升级,如升级失败,不影
响旧版本数据库,更安全,有回退机制,但需消耗更多空间。
3、 logical stream replication:
logical stream replication 通过创建发布、订阅,源库为低版本主库,目标库为高版本从库,等到数据同步后,主从切换达到升级的目的,适合于跨平台场景。
原文:https://www.cnblogs.com/oradba/p/14811832.html