轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
tianon/postgres-upgrade
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

postgres-upgrade Docker 镜像下载 - 轩辕镜像

postgres-upgrade 镜像详细信息和使用指南

postgres-upgrade 镜像标签列表和版本信息

postgres-upgrade 镜像拉取命令和加速下载

postgres-upgrade 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

postgres-upgrade
tianon/postgres-upgrade

postgres-upgrade 镜像详细信息

postgres-upgrade 镜像标签列表

postgres-upgrade 镜像使用说明

postgres-upgrade 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

在Docker环境中使用pg_upgrade的概念验证,需调整后使用,不可直接运行。
37 收藏0 次下载activetianon镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

postgres-upgrade 镜像详细说明

postgres-upgrade 使用指南

postgres-upgrade 配置说明

postgres-upgrade 官方文档

tianon/postgres-upgrade 镜像文档

镜像概述和主要用途

本镜像是一个在 Docker 环境中使用 pg_upgrade 工具进行 PostgreSQL 版本升级的概念验证(PoC)实现。其核心用途是协助用户在 Docker 容器化环境中,将 PostgreSQL 数据库从当前版本(OLD)升级到目标版本(NEW)。注意:此镜像为概念验证工具,需根据实际需求进行适配和测试,不可直接用于生产环境。

镜像源码可参考:[***]

核心功能和特性

标签格式

镜像标签遵循 OLD-to-NEW 格式,其中:

  • OLD:当前运行的 PostgreSQL 版本(如 9.4)
  • NEW:目标升级的 PostgreSQL 版本(如 9.5)

性能优化

支持通过 --link 参数启用链接模式,避免数据复制,直接创建新旧数据目录的硬链接,显著提升升级性能(具体原理参见 pg_upgrade 文档)。

灵活的目录适配

提供两种目录结构适配方案:

  • 推荐方案:符合特定目录结构时使用 --link 模式(高性能)
  • 替代方案:目录结构不符合时直接挂载(性能较低)

使用场景和适用范围

适用场景

  • 需要在 Docker 容器环境中对 PostgreSQL 数据库进行主版本升级(如从 9.4 升级到 9.5)
  • 希望通过容器化方式简化 pg_upgrade 工具的环境配置和依赖管理

限制条件

  • 需手动管理新旧版本数据目录的挂载和权限
  • 升级前需确保旧版本数据库已停止运行
  • 仅支持 PostgreSQL 主版本升级,且需保证 OLD 和 NEW 版本的兼容性(参考 PostgreSQL 官方升级说明)

使用方法和配置说明

前提条件

  1. 已停止旧版本 PostgreSQL 容器(避免数据文件被占用)
  2. 已准备新旧版本数据目录(推荐提前备份数据)

推荐方法:目录结构符合要求时(使用 --link)

目录结构要求

数据目录需满足以下层级结构,其中 DIR 为宿主机根目录,OLD 和 NEW 分别为当前和目标 PostgreSQL 版本:

$ find DIR -mindepth 2 -maxdepth 2
DIR/OLD/data  # 旧版本数据目录
DIR/NEW/data  # 新版本数据目录(需提前创建空目录)

升级命令格式

$ docker run --rm \
  -v DIR:/var/lib/postgresql \  # 挂载宿主机根目录到容器内 /var/lib/postgresql
  tianon/postgres-upgrade:OLD-to-NEW \  # 指定镜像标签(OLD-to-NEW)
  --link  # 启用链接模式(提升性能)

具体示例(9.4 升级到 9.5)

假设:

  • 旧版本 OLD=9.4,新版本 NEW=9.5
  • 宿主机根目录 DIR=/mnt/bigdrive/postgresql
  1. 验证目录结构:
$ find /mnt/bigdrive/postgresql -mindepth 2 -maxdepth 2
/mnt/bigdrive/postgresql/9.4/data  # 旧版本数据目录(原 postgres:9.4 容器挂载路径)
/mnt/bigdrive/postgresql/9.5/data  # 新版本数据目录(为空目录,供 postgres:9.5 使用)
  1. 执行升级:
$ docker run --rm \
  -v /mnt/bigdrive/postgresql:/var/lib/postgresql \
  tianon/postgres-upgrade:9.4-to-9.5 \
  --link

替代方法:目录结构不符合要求时(不使用 --link)

目录结构要求

直接挂载旧版本数据目录(PGDATAOLD)和新版本数据目录(PGDATANEW),无需特定层级关系。

升级命令格式

$ docker run --rm \
  -v PGDATAOLD:/var/lib/postgresql/OLD/data \  # 挂载旧版本数据目录
  -v PGDATANEW:/var/lib/postgresql/NEW/data \  # 挂载新版本数据目录(需为空)
  tianon/postgres-upgrade:OLD-to-NEW  # 不使用 --link 参数

具体示例(9.4 升级到 9.5)

假设:

  • 旧版本数据目录 PGDATAOLD=/mnt/bigdrive/postgresql-9.4
  • 新版本数据目录 PGDATANEW=/mnt/bigdrive/postgresql-9.5

执行升级:

$ docker run --rm \
  -v /mnt/bigdrive/postgresql-9.4:/var/lib/postgresql/9.4/data \
  -v /mnt/bigdrive/postgresql-9.5:/var/lib/postgresql/9.5/data \
  tianon/postgres-upgrade:9.4-to-9.5

完整升级流程示例(9.4 升级到 9.5)

1. 准备工作

# 创建工作目录
$ mkdir -p postgres-upgrade-testing && cd postgres-upgrade-testing

# 定义版本和目录变量
$ OLD='9.4'
$ NEW='9.5'

2. 启动旧版本 PostgreSQL 并准备测试数据

# 拉取旧版本镜像
$ docker pull "postgres:$OLD"

# 启动旧版本容器(挂载数据目录)
$ docker run -dit \
  --name postgres-upgrade-testing \
  -v "$PWD/$OLD/data:/var/lib/postgresql/data" \
  "postgres:$OLD"

# 等待容器启动(约5秒)
$ sleep 5

# 查看容器日志确认启动成功
$ docker logs --tail 100 postgres-upgrade-testing

# 生成测试数据(使用 pgbench)
$ docker exec -it \
  -u postgres \
  postgres-upgrade-testing \
  pgbench -i -s 10

3. 停止旧版本容器并执行升级

# 停止旧版本容器
$ docker stop postgres-upgrade-testing && docker rm postgres-upgrade-testing

# 运行升级容器(使用推荐方法,--link 模式)
$ docker run --rm \
  -v "$PWD":/var/lib/postgresql \
  "tianon/postgres-upgrade:$OLD-to-$NEW" \
  --link

4. 启动新版本 PostgreSQL 并验证

# 拉取新版本镜像
$ docker pull "postgres:$NEW"

# 启动新版本容器(挂载升级后的新数据目录)
$ docker run -dit \
  --name postgres-upgrade-testing \
  -v "$PWD/$NEW/data:/var/lib/postgresql/data" \
  "postgres:$NEW"

# 等待容器启动并查看日志确认成功
$ sleep 5 && docker logs --tail 100 postgres-upgrade-testing

5. 清理旧版本数据(可选)

$ sudo rm -rf "$OLD"

注意事项

  1. 概念验证性质:本镜像为技术验证工具,升级前需在测试环境充分验证,生产环境使用前必须进行适配和定制。
  2. 数据备份:升级前务必备份旧版本数据目录,避免数据丢失。
  3. 目录权限:确保宿主机数据目录对 Docker 容器有读写权限(建议使用与 PostgreSQL 容器相同的用户权限)。
  4. 版本兼容性:仅支持官方声明兼容的 PostgreSQL 版本升级,跨多个主版本升级需分步进行(如 9.4→9.5→9.6)。
  5. 升级后验证:启动新版本容器后,需通过 psql 或应用验证数据完整性和功能正常性。
查看更多 postgres-upgrade 相关镜像 →
ixsystems/postgres-upgrade logo
ixsystems/postgres-upgrade
by ixsystems
暂无描述
5M+ pulls
上次更新:2 个月前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.