Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#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