Merci pour ces réponses.
Je comprends qu'autovacuum supprime bien les lignes mortes à la fin de la
transaction, ce qui fait que les temps redeviennent normaux si je lance une
nouvelle fois la fonction. En revanche, tant que la fonction n'est pas
terminée, les lignes ne sont pas encore "mortes", et restent donc en place.
Mon problème est que cette boucle for est en réalité une fonction sur un
curseur. Il m'est impossible de découper ce traitement en plusieurs
transactions : il faut qu'un seul appel à la fonction principale déroule
tous les traitements.
Voyez-vous une solution à ce problème ?
Encore merci,
Paul