PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 05/03/2010 13:08:48

ppluvinet
Membre

mémoire épuisée sur un VACUUM

Bonjour,

J'ai une table POSTGIS avec 7 millions de lignes et deux index spatiaux.
En faisant un VACUUM sur ma table j'ai le message suivant  :

ERREUR:  mémoire épuisée
DETAIL:  Échec d'une requête de taille 252281286


Je suis sur Windows 7 avec 8GO de RAM et un gros disque dur . Je travaille avec postgresql 8.4.

Mes parametres dans postgresql.conf sont
# - Memory -

shared_buffers = 1050MB            # min 128kB   
temp_buffers = 9MB            # min 800kB
work_mem = 800MB                # min 64kB
maintenance_work_mem = 800MB        # min 1MB

Qu'en pensez-vous?

Merci d'avance pour vos réponses.

Hors ligne

#2 05/03/2010 13:19:43

gleu
Administrateur

Re : mémoire épuisée sur un VACUUM

Baissez la valeur du maintenance_work_mem. Essayez par exemple 128 Mo. Si nécessaire descendez-là encore plus.


Guillaume.

Hors ligne

#3 05/03/2010 13:26:44

ppluvinet
Membre

Re : mémoire épuisée sur un VACUUM

Merci. Je vais essayer après manger de baisser maintenance_work_mem.
Quel sera son influence sur d'autres analyses ?
Je viens de lancer un VACUUM FULL est celui ci est long mais semble fonctionner. C'est normal ?

Hors ligne

#4 05/03/2010 13:51:52

Marc Cousin
Membre

Re : mémoire épuisée sur un VACUUM

Vacuum full est une opération très lente, oui.

Un maintenance_work_mem plus faible rendra les opérations de maintenance (vacuum, création d'index) plus lente, et elles génèreront davantage d'entrées/sorties, mais à part celà pas d'impact, elles fourniront le même résultat.


Marc.

Hors ligne

Pied de page des forums