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

Azure PostgreSQL弹性服务器pg_dump备份失败求助

问题描述

运行Azure PostgreSQL弹性服务器,执行pg_dump备份数据库时失败,使用的命令如下:

pg_dump -b -Z0 -F t --host=hidden --username=hidden --dbname=temp --file=backup.tar

报错信息:

pg_dump: error: error reading large object 350828: server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.
排查原因及解决方案
  • 大对象损坏:报错明确指向大对象ID 350828,优先检查该对象是否损坏。执行SELECT lo_get(350828);测试读取,若同样报错,说明对象损坏,需从有效备份恢复该对象,或删除后重建。
  • 连接超时触发:Azure PostgreSQL弹性服务器有默认连接超时配置,长时间备份大对象可能触发超时。检查服务器idle_in_transaction_session_timeout参数,或Azure门户中的连接超时设置,适当调大后重试。
  • 服务器资源耗尽:备份期间CPU、内存或磁盘IO过载会导致PostgreSQL进程异常终止。查看Azure门户的监控指标(CPU使用率、内存压力、磁盘IOPS),确认是否有资源瓶颈。可临时升级服务器规格,或在低峰期执行备份。
  • 网络连接不稳定:客户端与Azure服务器间的网络中断会导致连接意外关闭。建议在同区域Azure VM内执行备份,降低网络延迟;或使用pg_dump --no-sync参数(风险可控时使用)减少磁盘同步等待,缩短备份时长。
  • 版本不兼容:你参考的是PostgreSQL 7.2的文档,而Azure PostgreSQL版本通常远高于此,版本不匹配可能导致大对象处理逻辑异常。确保pg_dump版本与服务器版本一致(用pg_dump --version和SELECT version();分别确认客户端和服务器版本)。
  • Azure服务端限制:Azure PostgreSQL弹性服务器对备份任务的时长或数据量可能有隐性限制。尝试拆分备份:先不带-b参数备份非大对象数据,再单独用pg_dump -b -F t --dbname=temp --file=lo_backup.tar备份大对象,以此定位问题。

内容的提问来源于stack exchange,提问作者Sajith Dilshan Jamal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:07:35