我正在尝试从bitnami pg image 11 ->版本14升级。在尝试升级时,我收到以下错误提示:
The data directory was initialized by PostgreSQL version 11, which is not compatible with this version 14.0
为了解决这个问题,我使用新的PVC创建了一个新的postgres部署,使用pgdump对数据进行备份,并将其导入到运行版本14的新postgres部署中。
但是,我需要在更大的数据库上重复这个过程,这些数据库有to级的数据,我不认为pgdump就足够了。
有了bitnami图像,可以使用像pg_upgrade这样的工具吗?
以前有没有人这样做过,或者遇到过同样的问题?
谢谢:)
发布于 2021-11-09 13:33:42
是的,使用新的PVC和PV,以您的方式进行备份和恢复始终是一个很好的选择。
Pg_dump & Pg_restore是一个健壮的原生选项,我认为您可以使用-j来启动多线程来迁移数据。
要迁移TB级的数据,您可能需要良好的网络带宽和可扩展的解决方案。
不确定您是如何运行此实例或副本的。
你可以这样做:
创建新的 helm版本的Postgres,同时运行旧的 one
迁移数据
kubectl exec -it new-helm-db-postgresql-0 -- bash -c 'export PGPASSWORD=${POSTGRES_PASSWORD}; time pg_dump -h old-postgresql -U postgres | psql -U postgres'正如上面所建议的,您还可以添加-j来启动多线程,但是,如果迁移TB的数据,则会增加POD资源和磁盘使用量。
你也可以参考:https://www.citusdata.com/blog/2021/02/20/faster-data-migrations-in-postgres/
如果您使用的是托管云,我建议您使用DMS AWS。
或者设置一个带有Migration Tool的VM,并将数据迁移到新的旧postgres集群。
https://stackoverflow.com/questions/69898410
复制相似问题