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 for it and wraps all
insert into a global transaction, executes the SET CONSTRAINTS ALL DEFERRED on
initialization of extractor and also append cascade to all database
truncate call.