There are two good projects, slony-i_ and pg-cluster, that support
master-slave replication and multi-master replication respectively. I
haven't used either but Curt Moore mentioned he uses slony-i during one
of the IRC meetings.
Yes, I use Slony-I in my production environment and like most other
complex software packages, it works quite well if it's configured
correctly. As Toshio mentioned, Slony-I is a single master, multi-slave
architecture so write operations can only be performed to a master DB
and those changes then have to be replicated down to the slave servers.
There are provisions for promoting a slave to be the master server in
case the master crashes but they advise doing everything humanly
possible to ensure that this doesn't happen.
The last time I experimented with PGCluster, which is
multi-master/multi-slave, probably around Oct/Nov of 2005, I was using
PostgreSQL 8.0.1 and it wasn't that well supported at that time. Its
architecture was also quite hardware intensive in order to avoid a SPOF,
which wouldn't have been a big deal to me if it had worked. The project
has since progressed and I believe they have improved support for
Postgres 8.x so it may warrant further investigation in our discussions
for DB replication; I've just not had time to get around to testing the
updated versions in my environment.
-Curt