PostgreSQL 9.0+ allows you to have replicated hot standby servers which you can query and/or use for high availability.
While the main components of the feature are included with PostgreSQL, the user is expected to manage the high availability parts.
repmgr is an open source tool that allows you to monitor and manage your replicated PostgreSQL databases as a single logical cluster.
Official repmgr discussion forum:
Though the basic functions necessary to monitor multiple nodes and help make decisions like "which node do I promote if the master fails?" were included in PostgreSQL 9.0, the way it exposes this information is based on internal server units. There are a few common requirements that crop up once clusters are deployed into a production environment:
- How do I handle adding new nodes easily to expand capacity later?
- Can I monitor replication lag in time units? (addressed directly in PostgreSQL 9.1)
- When the master fails, how do I find the right node to promote, then switch all of the other standby servers to follow it?
While diversity is important, repmgr has a thriving community and is increasing in popularity all the time, so it seems likely to become the de facto standard general purpose cluster management suite for PostgreSQL. Other open-source projects that serve other, more specialised use-cases, still independently benefit from PostgreSQL's low-level replication monitoring functions.