强制postgres转储使用副本而不是INSERTS

时间:2009-11-12 10:41:08

标签: database postgresql pg-dump

在恢复某些数据库备份时,我注意到pg_dump实际上使用的是INSERTS而不是COPY。我甚至没有指定-d标志,但它仍然在我尝试转储的每个数据库/表中使用INSERTS,这就是为什么恢复需要数小时而不是分钟。

根据pg文档,pg_dump默认情况下应该使用COPY,但在我的情况下,它不是。有没有办法确保pg_dump使用COPY?

这是pg_dump命令:

pg_dump -Fp -t some_table -h localhost -d thisDB -f / some_dir / bkup

有什么想法吗?

THX。

2 个答案:

答案 0 :(得分:4)

指定-d !!!!!:

pg_dump -Fp -t some_table -h localhost -d thisDB -f /some_dir/bkup
                                      ^^^^

幸运的是-d is no more

答案 1 :(得分:1)

在您发布的命令行中,您实际上指定了-d标志,尽管您似乎尝试使用它来指定要使用的数据库。请尝试以下方法:

pg_dump -Fp -t some_table -h localhost -f /some_dir/bkup thisDB