我正在尝试转储数据库。
由于我在这里无法详细介绍的原因,我无法使用“复制”功能。这意味着insert语句必须是“纯”插入。但是,我不确定如何在转储中反映出来。
当前,这是我的转储命令:
pg_dump -U myUser --column-inserts --data-only -h localhost my_db> backup
有人可以告诉我如果没有Copy
函数怎么获得插入语句?
答案 0 :(得分:1)
The documentation of pg_dumps
告诉我们:
--inserts
将数据转储为INSERT命令(而不是COPY)。这会使恢复非常缓慢。它主要用于制作可以装入非PostgreSQL数据库的转储。但是,由于此选项为每一行生成一个单独的命令,因此在重新加载行时发生错误只会导致该行丢失,而不是整个表内容丢失。请注意,如果您重新排列了列顺序,则还原可能会完全失败。 --column-inserts选项可以安全地防止列顺序更改,即使更慢。