讲师中心 微信公众号
AI工具推荐 视频效率加速

PostgreSQL怎么使用pg_dump对指定的大型数据库做并发压缩导出

云明吖_2299

云明吖_2299

发布时间:2026-11-04 11:15:26

|

275人浏览过

|

来源于php中文网

原创

必须用-Fd目录格式+ -j并行+ -Z压缩,因-Fp纯文本不支持并行(-j无效且报错),-Fc虽支持并行但压缩为整体打包;-Fd将对象拆为独立文件,可真正并行读写与逐文件压缩,恢复粒度细、内存占用低。

postgresql怎么使用pg_dump对指定的大型数据库做并发压缩导出

对大型数据库做并发压缩导出,必须用 -Fd(directory)格式 + -j 并行 + -Z 压缩,-Fp(纯文本)不支持并行,-Fc 支持并行但压缩是整体打包,无法在 dump 过程中逐文件压缩。

为什么不能用 -Fp 做并发导出

纯文本格式(-Fp 或默认)本质是单流 SQL 输出,-j 参数对其完全无效 —— 执行时会直接报错或静默忽略。即使加了 -j 4,实际仍是单线程写入一个大 SQL 文件,毫无提速效果。很多用户卡在这一步,反复调参却没变化,根源就在这里。

常见错误现象:pg_dump: warning: ignoring --jobs option with plain format

  • -Fp 只适合小库、调试、需人工审阅 SQL 的场景
  • 它生成的文件不可被 pg_restore 使用,恢复只能靠 psql
  • 不支持按对象选择性恢复(比如只恢复某张表)

-Fd 目录格式 + -j 并行的实际效果

目录格式把每个表、序列、函数等拆成独立文件,-j 让 pg_dump 启动多个 worker 进程并行读取和写入这些文件,I/O 和 CPU 利用率明显提升。实测在 32 核机器上,-j 16 比 -j 1 快 5–8 倍(取决于磁盘随机读性能)。

使用要点:

  • 目标路径必须是**空目录**,pg_dump 不会清空已有内容,冲突直接报错
  • -j 值建议设为 CPU 核心数的 0.75 倍(如 24 核配 -j 18),避免过度争抢 I/O
  • 必须搭配 -f 指向目录路径,例如 -f /backup/mydb_20260930,不能是文件名
  • 导出后整个目录就是备份单元,不能只拷其中几个文件

压缩不是加个 -Z 就完事

-Z 只对 -Fc 和 -Fd 生效,且行为不同:

DrugBank 数据库
DrugBank 数据库

访问并分析来自 DrugBank 数据库的全面药物信息,包括药物属性、相互作用、靶点、通路、化学结构和药理学数据。用于药物数据、药物发现研究、药理学研究、药物-

下载
  • -Fc -Z 9:整个归档文件被 gzip 压缩,恢复时需解压全部再读取
  • -Fd -Z 9:每个内部文件单独压缩(如 2578.dat.gz),pg_restore 恢复时按需解压,内存占用低、恢复更灵活

所以对大型库,-Fd -Z 6 是更优组合 —— 并行快 + 压缩比合理 + 恢复粒度细。别用 -Z 9,压缩时间陡增但体积只省 3%~5%,不值。

示例命令:

pg_dump -h db-prod -U backup_user -d my_large_db \
  -Fd -j 12 -Z 6 \
  -f /backup/my_large_db_$(date +%Y%m%d) \
  --lock-wait-timeout=30s \
  --verbose

容易被忽略的权限与锁问题

大型库导出期间若遇到长事务或 DDL,pg_dump 默认会卡在锁等待上,直到超时失败。必须显式加 --lock-wait-timeout,否则半夜跑备份突然中断,第二天才发现。

另外注意:

  • 运行用户需有 SELECT 权限,对所有要导出的表、序列、类型都得能读;pg_dump -s 还需要 USAGE on schema
  • 如果库启用了 RLS(行级安全),且当前用户无权访问某些行,pg_dump -a 会漏数据,需确认是否加 --enable-row-security
  • 不要在备份过程中执行 TRUNCATE 或大事务 UPDATE,否则可能触发长时间锁等待

真正影响大型库导出成败的,往往不是参数组合,而是对锁等待、权限边界和目录结构完整性的预判 —— 这些细节不检查,再快的并发也救不回一次中断的备份。

热门AI工具

更多
UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

花生AI
花生AI Hot

一款AI视频创作工具,主要用于B站推出的AI视频创作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
postgresql常用命令
postgresql常用命令

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、l、c、dt、d table_name、du、i file_name、e和q等。本专题为大家提供postgresql相关的文章、下载、课程内容,供大家免费下载体验。

233

2023.10.10

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4789

2023.11.02

postgresql常用命令有哪些
postgresql常用命令有哪些

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、l、c、dt、d table_name、du、i file_name、e和q等。更详细的postgresql常用命令,大家可以访问下面的文章。

647

2023.11.16

postgresql常用命令介绍
postgresql常用命令介绍

postgresql常用命令有l、d、d5、di、ds、dv、df、dn、db、dg、dp、c、pset、show search_path、ALTER TABLE、INSERT INTO、UPDATE、DELETE FROM、SELECT等。想了解更多postgresql的相关内容,可以阅读本专题下面的文章。

1396

2023.11.20

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

480

2026.02.12

PostgreSQL 性能优化与查询执行计划实战
PostgreSQL 性能优化与查询执行计划实战

本专题深入解析PostgreSQL性能优化核心,聚焦查询执行计划的实战应用。通过EXPLAIN命令精准定位瓶颈,结合索引策略、SQL改写与参数调优,系统提升查询效率。从执行计划解读到性能调优全流程,助你掌握数据库性能诊断与优化实战能力。

150

2026.05.08

PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践
PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践

本文详解如何利用Next.js(搭配Drizzle ORM)与Go后端构建高性能应用,充分发挥PG在JSONB非结构化存储与pgvector向量检索上的优势。从数据建模到Docker容器化部署,打造支持AI时代的“One Database”工程化解决方案。

901

2026.05.08

PostgreSQL高级特性、内核机制与现代数据架构
PostgreSQL高级特性、内核机制与现代数据架构

本专题从MVCC并发控制与WAL日志等内核机制出发,详解JSONB、PostGIS及pgvector等高级特性。探讨如何利用单一引擎支撑关系型、向量及图数据等现代数据架构需求,助您掌握构建高并发、智能化应用的核心技术。

244

2026.05.08

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

0

2026.11.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 0.1万人学习

SQL优化与排查(MySQL版)
SQL优化与排查(MySQL版)

共26课时 | 3.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn