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

使用pg_restore恢复数据库数据时的提交操作频率是多少

pg_restore 提交频率规则

pg_restore的提交行为没有固定的全局频率,完全由你执行恢复时传入的参数、以及归档文件生成时的参数决定,具体可分为以下几类场景:

  • 默认无特殊参数的恢复场景
    未添加任何特殊配置时,pg_restore会将所有恢复操作包裹在单个事务中执行,全程只会在所有操作全部执行成功后提交1次,中途出错会触发全量回滚。如果显式传入--single-transaction参数,会强制启用该单事务逻辑,优先级高于其他参数。
  • 并行恢复场景(使用-j/--jobs参数)
    并行恢复模式不支持单事务,pg_restore会为每个工作进程分配独立的对象恢复任务(包括表、索引、约束等独立数据库对象),每个工作进程完成自身全部任务后单独提交,总提交次数等于本次恢复的独立任务总数量。
  • 使用INSERT语句导出的归档恢复场景
    如果你的归档是pg_dump时添加了--inserts或--column-inserts参数生成的,且恢复时未启用单事务模式,pg_restore会默认每执行1000条INSERT语句提交一次,该批次大小为PostgreSQL内部硬编码的默认值,不支持通过运行参数修改。

如果你需要自定义提交频次,可先将pg_restore的输出转为SQL文件,自行调整事务拆分逻辑后再通过psql执行,适合需要避免长事务占用过多系统资源的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 18:45:03