有提示的关于这一主题的文档的Populating a Database部分名单。您也可以使用Tuning Your PostgreSQL Server中的提示加速一般性能。
检查外键的开销可能随着表大小的增加而增长,这会因为您一次加载单个记录而变得更糟。如果你正在加载数据的70GB的价值,这将是远远快负荷期间停止外键,再重新编译他们时,它的进口。如果您使用单个INSERT语句,则尤其如此。切换而不是复制是不是有保障的改善或者,由于在执行挂起的触发队列管理 - 问题出现在第一文档链接进行了讨论。
从PSQL提示,你可以找到的约束的名称强制执行你的外键,然后用这个名字是这样砸:
\d tablename
ALTER TABLE tablename DROP CONSTRAINT constraint_name;
当你和装载完成后,你可以把它背部采用类似:
ALTER TABLE tablename ADD CONSTRAINT constraint_name FOREIGN KEY (other_table) REFERENCES other_table (join_column);
一个有用的技巧,找出确切的语法使用的是恢复到你的数据库上做pgdump --schema只。从这个转储将告诉你如何重新创建你现在的结构。
PostgreSQL没有回滚日志。 – 2011-02-11 12:22:44
PostgreSQL具有预写日志,与其他数据库中的回滚日志具有相同的用途。 – 2011-02-15 16:49:48