PG has async/sync/hybrid replication for years already. It's not as tooled as MongoDB but there's some tools like http://www.repmgr.org/ to amend it.
MS SQL does have easier tooling for replication. The setup for postrgresql is complex and it doesn't come with out of the box tools to easily manage failover and recovery as you mention. Progress is being made in making this easier, but it's still mostly in the low level functionality:
https://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_...
https://wiki.postgresql.org/wiki/What%27s_new_in_PostgreSQL_...
pg_rewind[1] is supposed to fix this. It's moving into core for 9.5, by the way.