It seems to work fine (same execution plan and less duration) after :
 - setting default_statistics_target to 100
 - full vacuum with analyze
 - reindexdb

Thanks.


-------- Message original --------
Sujet : Re: [PERFORM] Two different execution plan for the same request
De : Guillaume Smet <guillaume.smet@gmail.com>
Pour : JOUANIN Nicolas (44) <nicolas.jouanin@dgfip.finances.gouv.fr>
Copie à : Yeb Havinga <yebhavinga@gmail.com>, pgsql-performance@postgresql.org
Date : 07/07/2010 10:59
Hi Nicolas,

On Wed, Jul 7, 2010 at 10:47 AM, JOUANIN Nicolas (44)
<nicolas.jouanin@dgfip.finances.gouv.fr> wrote:
  
There were no modification made on the database except a restart yesterday evening and a vacuumdb --analyse ran at night.
    

It's not really surprising considering you probably kept the
default_statistics_target to 10 (it's the default in 8.3).

Consider raising it to 100 in your postgresql.conf (100 is the default
for newer versions), then reload, and run a new ANALYZE.

You might need to set it higher on specific columns if you have a lot
of data and your data distribution is weird.

And, btw, please upgrade to the latest 8.3.x.

HTH