Data synchronization across multiple databases
From your description, it sounds like you need something like Bucardo to try and merge data from multiple sources into one.

Though you'll probably have to write some custom conflict handlers to deal with data that conflicts across B, B1, and B2. There are examples out there like this for custom conflict resolution:

http://blog.endpoint.com/2014/07/postgresql-conflict-handling-with.html

Londiste also lets you merge data from multiple tables into one:

http://skytools.projects.pgfoundry.org/skytools-3.0/doc/howto/londiste3_merge_howto.html

If you can just replicate many child tables from different databases to a single database, and have your application look across all of the tables for the consistent view of your data, then you might be able to get away with something as simple as Mimeo on github from OmniTI Labs.

Without further detail on your requirements, I can only make broad suggestions. 

Hope that helps.