Support for foreign key and postgresql

When using database foreign keys the order of insertion is important.
On PostgreSQL however it is possible to defer the execution of these
checks until the end of the transaction block.  This provides wraps all
insert into a transaction, executes the SET CONSTRAINTS ALL DEFERRED on
initialization of extractor and also append cascade to all database
truncate call.