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

PostgreSQL 13.9与pg_dump 12.12版本不匹配,求解决备份问题

解决PostgreSQL pg_dump版本不匹配问题

遇到pg_dump版本低于PostgreSQL服务器版本导致的备份失败,直接用以下几种方案解决:

方案1:安装与服务器同版本的pg_dump(推荐)

你的服务器版本是13.9,所以需要安装PostgreSQL 13系列的pg_dump工具:

  1. 先给Ubuntu系统添加PostgreSQL官方软件源:
    sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
    sudo apt update
    
  2. 安装PostgreSQL 13的客户端工具包(包含pg_dump):
    sudo apt install postgresql-client-13
    
  3. 安装完成后直接执行原备份命令即可,系统会优先调用新版本工具;如果仍默认旧版本,就指定全路径执行:
    /usr/lib/postgresql/13/bin/pg_dump -Fc -h localhost -U postgres -d <db-name> -f <filename>
    

方案2:直接使用服务器本机的pg_dump(本地备份场景)

如果是在数据库服务器本机执行备份,系统里肯定自带对应13.9版本的pg_dump,找到它的默认路径(通常是/usr/lib/postgresql/13/bin/),直接用全路径执行命令:

/usr/lib/postgresql/13/bin/pg_dump -Fc -h localhost -U postgres -d <db-name> -f <filename>

方案3:远程备份时通过SSH调用服务器端pg_dump

如果是远程备份,不用在本地装新版本工具,直接通过SSH连接到服务器执行pg_dump,把备份文件同步到本地:

ssh postgres@你的服务器IP "/usr/lib/postgresql/13/bin/pg_dump -Fc -d <db-name>" > <本地保存的文件名>

核心原因说明

PostgreSQL的pg_dump工具要求版本不能低于服务器版本,低版本工具无法识别高版本服务器的新特性,因此必须使用与服务器同版本或更高版本的pg_dump完成备份。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 20:01:21