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

#1 26/03/2015 19:12:37

chris
Membre

create index - fichiers temporaires - maintenance_work_mem ignoré

Bonjour.
Sur une instance postgres 9.1.6, je crée un index sur une table.
Cela prend 374629.339 ms et génére 3 fichiers temporaires :
  temporary file: path "base/pgsql_tmp/pgsql_tmp15890.3", size 1073741824
  temporary file: path "base/pgsql_tmp/pgsql_tmp15890.4", size 1073741824
  temporary file: path "base/pgsql_tmp/pgsql_tmp15890.5", size 359014400

Malgré des augmentations successives de maintenance_work_mem à 2GB, puis 4GB et enfin 11GB, je n'arrive pas à créer cet index sans fichier temporaire. C'est comme si le paramètre maintenance_work_mem n'était pas pris en compte. Or  un SHOW  montre bien 11GB.
Des idées ?

Merci

Hors ligne

#2 26/03/2015 22:33:39

gleu
Administrateur

Re : create index - fichiers temporaires - maintenance_work_mem ignoré

Autant que je sache, il n'est pas possible d'aller au-dessus d'une certaine taille (2 Go à mon souvenir, 4 Go peut-être d'après le code).

Bref, pas très étonné que vous ayez du mal à lui faire utiliser 11 Go.


Guillaume.

Hors ligne

#3 27/03/2015 10:21:38

chris
Membre

Re : create index - fichiers temporaires - maintenance_work_mem ignoré

Merci.
C'est vrai, zut j'aurai dû le voir :
template1=# select max_val  from pg_settings where name='maintenance_work_mem';
-[ RECORD 1 ]-------
max_val | 2147483647
C'est quand même dommage avec les serveurs 64 bits que l'on a désormais de ne pas pouvoir dépasser 2 Go.

J'imagine qu'il n'y a pas d'autres solutions ?

Hors ligne

#4 28/03/2015 14:39:11

gleu
Administrateur

Re : create index - fichiers temporaires - maintenance_work_mem ignoré

Malheureusement non.


Guillaume.

Hors ligne

Pied de page des forums