Hasty Briefsbeta

双语

PG Auto Upgrade – Docker (and K8s) container to auto upgrade your database

9 months ago
  • #Database Upgrade
  • #PostgreSQL
  • #Docker
  • PostgreSQL Docker镜像支持自动数据库升级
  • 检测数据目录中的PostgreSQL版本并使用pg_upgrade的--link参数进行升级
  • 升级完成后启动PostgreSQL服务,旧集群数据将被清除
  • 官方Docker PostgreSQL镜像不具备升级功能
  • 警告:使用前请备份数据,原地升级存在数据丢失风险
  • 移除了健康检查,已实现自定义健康检查机制
  • Docker Hub镜像地址:pgautoupgrade/pgautoupgrade
  • 使用'latest'标签获取基于Alpine Linux的镜像,或特定版本标签如'17-alpine'
  • 提供基于Debian的镜像(如'17-bookworm')以确保兼容性
  • One Shot模式仅执行升级不运行PostgreSQL(设置PGAUTO_ONESHOT=yes)
  • 通过PGAUTO_REINDEX=no跳过重建索引(推荐PG v16+版本使用)
  • Bitnami Postgres适配方案:复制缺失的配置文件,处理用户ID变更
  • 提供Kubernetes initContainer示例用于Bitnami升级场景
  • 开发镜像构建命令:'make dev'
  • Wiki文档包含自定义扩展的安装说明
  • 设有'before'和'server'断点用于调试/测试
  • 测试脚本验证从PG 9.5到17.x的AdventureWorks数据库升级流程