I am migrating a Postgres 8.4 installation on a dedicated server to Postgres 9.2 running on a Virtual Machine. A sample query that run in 10 minutes on the 8.4 installation take 40 minutes on the 9.2 installation.
Current Server, Postgres 8.4 * 6-core, 3GHz AMD system * 12GB of RAM * 4 SATA drive RAID-1 storage * Mandriva OS * SQL encoding and 'C' collation Virtual Machine, Postgres 9.2 ( two different systems) * 4-core, 3Ghz Intel system * 12GB or RAM * SAS storage on one, and 4-SATA drive RAID-10 system on second * CentOS 6.3 OS * UTF-8 encoding, and I have tried both 'C' and en_US collation The first VM is at a local Data Center and the second in on a dedicated server in my office. Both give similar results. The data, indexes and constraints have all been successfully migrated to the new system. I have tuned the VM systems using pgtune with no significant before and after difference. The 'explain' output for the query is very different between the two systems. It seems like I am missing some simple step for there to be such a huge performance difference. Any suggestions on what else to text/check would be very much appreciated. Tom