Would it be acceptable to replace all the data on the target database in one big transaction, or do you need to keep the data that's there and just add / update the data from the source server?
If replacing all the data is acceptable, then you could do this:
begin;
truncate table1;
truncate table2;
... etc ...
insert into table1 values (... repeat as needed)
commit;
This would allow all the data to change in one fell swoop.
If you need to keep the data that's in the target database, then you'll do best if you write a script that basically does a select * from the source, then do the updates / inserts on the target database one row at a time. Note that if there are rows in the source that don't have a corresponding fk in the target database, you'll need to insert, otherwise update.