如何生成多值 INSERT 的 postgresql 转储而不是 COPY 并将插入批处理到显式事务中?

Vác*_*lav 4 postgresql pg-dump

我无法在任何地方找到有关如何在通过pg_dump实用程序生成数据库转储时将插入批量化为每事务 100 个插入的批次的任何信息。我究竟需要如何执行它?我没有找到任何参数

> man pg_dump
Run Code Online (Sandbox Code Playgroud)

来执行此操作。即使 @CraigRinger 在 StackOverflow 上关于该主题的最详尽的答案也没有描述扩展导入转储的生成方式。有人可以在这里分享他们的食谱吗?

jja*_*nes 7

--rows-per-insert已添加到 v12 的 pg_dump 中。在此之前,没有干净的方法可以做到这一点。

对于纯文本转储,事务控制将根据您重播转储的方式来决定,而不是根据您如何获取它。如果您只是将转储流式传输而psql没有任何选项,则每个插入自然将是其自己的事务。