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

PostgreSQL 12备份时出现Connection reset by peer错误求助

解决PostgreSQL 12大数据库备份触发“Connection reset by peer”的问题

错误场景

<pgAdmin 4 - DB:postgres>]>:idleLOG: 无法从客户端接收数据:Connection reset by peer

在同一服务器上备份700GB的PostgreSQL 12数据库时,备份文件到100GB或200GB就出现上述错误,但空闲状态下备份文件能达到400GB。

可行解决方案

1. 排查系统资源瓶颈

  • 先查备份目标磁盘空间:用df -h确认剩余空间足够容纳700GB备份,避免中途空间耗尽导致连接中断。
  • 检查用户进程限制:执行ulimit -a看file size项,要是限制低于700GB,修改/etc/security/limits.conf提升文件大小上限。

2. 弃用pgAdmin,改用原生pg_dump命令

pgAdmin作为GUI工具,长连接稳定性不如原生命令行。直接用下面的命令备份:

pg_dump -U 用户名 -d 数据库名 -Fc -f /备份路径/backup_file.dump

-Fc是自定义格式,高效还支持断点续传;要压缩的话,直接结合gzip:

pg_dump -U 用户名 -d 数据库名 | gzip > /备份路径/backup_file.sql.gz

3. 调优PostgreSQL连接参数

修改postgresql.conf里的参数,优化长连接稳定性:

  • 增大wal_buffers和maintenance_work_mem,给备份分配更多内存;
  • 调整TCP保活参数,防止系统或防火墙断开连接:
    tcp_keepalives_idle = 60
    tcp_keepalives_interval = 10
    tcp_keepalives_count = 10
    
    修改完重启PostgreSQL服务生效。

4. 检查磁盘硬件健康

备份时磁盘IO异常也会导致连接重置:

  • 用smartctl -a /dev/磁盘设备名检查磁盘是否有坏道或IO错误;
  • 查看系统日志/var/log/messages或/var/log/syslog,找磁盘相关报错。

5. 拆分备份任务

要是单库备份压力太大,拆分任务降低风险:

  • 按schema或者表分组备份,减少单次备份的数据量;
  • 备份完成后统一归档,避免单个超大文件的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 14:15:40