【发布时间】:2021-03-21 01:43:28
【问题描述】:
我的数据库中有一组备份,它们采用sql 格式。我正在使用以下命令导入它们
Restore: $ psql -U {user-name} -d {desintation_db} -f {dumpfilename.sql}
它工作得很好,但我注意到如果打印出日志并且它似乎是逐行导入它们,对于 200Mb 的数据库,导入需要很长时间,而且我有几个数据库,它们大约 20GB。有没有更快的方法来导入它们?这种方法似乎根本不实用。
【问题讨论】:
-
pg_dump不会生成单行插入,因此恢复它也不会“逐行”导入它。但它确实会导入一张又一张的表。如果您认为日志输出会减慢进程,您可以使用 psql 的--quiet选项禁用它 -
@a_horse_with_no_name pg_dump 的 --inserts 选项强制它使用
insert into t(a,b,c) values(x,y,z); [repeatedly]格式,这可能非常庞大。 (幸运的是,没有理智的人会经常使用它)
标签: postgresql psql pg-dump