PostgreSQL 8.4 im Lauf der Zeit immer langsamer

Hallo,

wir haben eine PostgreSQL DB, Version 8.4 auf einem Suse Linux Server.
Es werden jede Nacht viele updates und inserts gemacht. Nach ca. 3 Wochen erhöht sich die Abfragezeit auf die Daten merklich.

Vacuum full und Reindex hat bisher keine Verbesserung gebracht.
Die Einstellungen der DB sind:

shared_buffers = 1024MB
temp_buffers = 32MB
work_mem = 8MB
maintenance_work_mem = 32MB
checkpoint_segments = 20
effective_cache_size = 512MB
max_locks_per_transaction = 256

Wenn man die Datenbank exportiert und wieder neu importiert, sind die Zeiten wieder gut.

Hat jemand eine Idee, woran das liegen könnte?

Danke!

EXPLAIN ANALYSE weiß sicher mehr. Insgesamt klingt es nach Table und/oder Indexbloat. 8.4 ist mittlerweile etwas angestaubt.

Btw.: effective_cache_size ist einklich shared_mem + OS-Cache, aber das ist hier eger irrelevant.

Die Datenbank ist inzwischen auf postgresql 9.3.2.
Nach Restore der DB ist die Abfragezeit sehr gut, ca. 30 sec. Erfolgt auf eine bestimmte Tabelle ein Analyze wird die Query sehr langsam, ca. 70 min.
Ein explain analyze zeigt, dass sich die Durchführung der Abfrage verändert.

Woran kann das liegen?

z.B.

Hash Left Join -> Nested Loop Left Join
Bitmap Heap Scan -> Index Scan

Danke!

error in /dev/glaskugel.