You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker环境PostgreSQL升级时pg_upgrade_dump日志文件存放位置

pg_upgrade 日志文件存放路径

pg_upgrade_dump_1.log、pg_upgrade_internal.log这类pg_upgrade运行时生成的日志,默认存放在你执行pg_upgrade命令时的当前工作目录,不会自动写入PostgreSQL的数据目录或系统日志目录。

常规定位方式

  • 如果你是直接在操作系统终端执行pg_upgrade命令,直接回到执行升级命令时所在的目录就能找到对应日志,也可以执行命令快速搜索:
# 搜索当前目录及子目录下的pg_upgrade日志
find . -name "pg_upgrade*.log"

如果记不清当时的执行路径,可以执行全局搜索:

find / -name "pg_upgrade_dump_1.log" 2>/dev/null

Docker部署场景的特殊说明

你当前是迁移到Docker安装的PostgreSQL 14.3实例,根据执行pg_upgrade的位置不同,日志位置分两种:

  • 如果你是在宿主机上挂载新旧两套PG的数据目录,用宿主机的pg_upgrade二进制执行升级:日志就在宿主机上执行升级命令时的工作目录
  • 如果你是进入PostgreSQL 14的Docker容器内部执行的pg_upgrade命令:日志默认在容器内执行命令时的工作目录下,通常直接exec进入容器的默认工作路径是/var/lib/postgresql,可以直接执行命令把日志拷贝到宿主机查看:
# 将<pg14容器名/ID>替换为你实际的PostgreSQL 14容器标识
docker cp <pg14容器名/ID>:/var/lib/postgresql/pg_upgrade_dump_1.log ./
docker cp <pg14容器名/ID>:/var/lib/postgresql/pg_upgrade_internal.log ./

如果默认路径没找到,直接在容器内全局搜索即可:

docker exec -it <pg14容器名/ID> find / -name "pg_upgrade*.log" 2>/dev/null

补充说明:pg_upgrade_dump_1.log文件名里的数字1对应数据库OID,本次报错里的1对应的是template1库,查看日志时优先筛选ERROR级别的条目即可快速定位故障,常见故障原因包括旧库残留无效依赖、扩展/自定义数据类型版本不兼容、文件系统权限不足等。

内容的提问来源于stack exchange,提问作者darecoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 03:42:31