We are currently experimenting with a postgresql cluster database (pgcluster 1.5rc11).
The cluster replicates all prepared statements across all database servers (which makes sense if they are for updates and inserts). It also does this for normal select statements.
That means that when using prepared statements, there is absolutely NO gain from using a db cluster. Everything is executed in every database. And there is the additional overhead of replicating that across. So huge investment in hardware, and a performance loss is the gain from that :-(
Our application is written in java and we use the jdbc postgresql driver.
Now it appears that this driver issues ANY statement as a prepared statement. I've tried to switch this off but to no avail. This is a huge nightmare and I don't quite understand why it is deemed necessary to issue every simple select statement as a prepared statement.
Maybe someone on this mailing list can enlighten me?