Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 24/01/2011 17:53:24
- genio
- Membre
fonction autovacuum
Bonjour à tous...
1°) La fonction autovacuum est-elle souvent utilisée ?
2°) A quels intervales est-elle exécutée ?
3°) N'est-elle pas trop 'consommatrice' ?
Merci pour vos réponses...
Hors ligne
#2 24/01/2011 18:02:22
- Marc Cousin
- Membre
Re : fonction autovacuum
1) Ça dépend de ce que vous faites de votre base
2) Toutes les minutes par défaut, mais la plupart du temps, juste pour vérifier qu'il n'y a rien à faire.
3) Non, pas en elle même. Les vacuum qu'elle peut déclencher le sont eux. Mais ils sont nécessaires au bon fonctionnement de la base de toutes façons.
Marc.
Hors ligne
#3 24/01/2011 18:05:36
- genio
- Membre
Re : fonction autovacuum
Merci Marc...
2) Imaginons ma database en mode Autovacuum => Ok
A partir de quelle 'importance' de trou laissé par les m.a.j, l'autovacuum va t'il déclencher des vacuum ?
Hors ligne
#4 24/01/2011 18:06:58
- Marc Cousin
- Membre
Re : fonction autovacuum
Ça dépend de vos paramètres autovacuum*threshold et *limit.
Tout est ici:
http://docs.postgresql.fr/9.0/runtime-c … acuum.html
Marc.
Hors ligne
#5 24/01/2011 19:03:47
- genio
- Membre
Re : fonction autovacuum
Autre choses...
Voici un extrait d'un shell de ma cron-table, lancé toutes les 3 heures :
...
for table in sessions_actions sessions_threads operatorvars sessions ; do
echo -n "`date '+%Y-%m-%d %H:%M:%S' ` ; vacuum table $table "
vacuumdb akio -Uakio -z -t $table
...
=> OK
1°) la ligne vacuumdb akio -Uakio -z -t $table me pose problème : Pourquoi effectuer un vacuumDB (vacuum de la database complete, si j'ai bien compris) et indiquer en même temps des noms de table à vacuumer ?
Hors ligne
#6 24/01/2011 19:09:38
- Marc Cousin
- Membre
Re : fonction autovacuum
si vous précisez un nom de table, vacuumdb ne vacuum que cette table. Cela restreint ce à quoi elle s'applique.
Marc.
Hors ligne
#7 25/01/2011 16:16:47
- genio
- Membre
Re : fonction autovacuum
Merci marc...
Cette ligne : psql Madatabase -Upostgres -c"ANALYZE;" veut dire que nous analysons toutes les tables de Madatabase => Ok
1°) Je m'étonne simplement que ce genre de traitement soit envoyé toutes les 3 heures chez nous... cela n'est-il pas trop pénalisant ?
Hors ligne
#8 25/01/2011 16:25:14
- Marc Cousin
- Membre
Re : fonction autovacuum
Ça dépend vraiment de la taille de la base (nombre de tables, et de colonnes dans ces tables). Le nombre d'enregistrements par table a peu d'impact, puisque analyze échantillonne la table (on n'aura jamais plus de 300x le statistics_target échantillons, soit 30 000 par défaut, ce qui est la plupart du temps satisfaisant d'un point de vue statistique). Si c'est comparativement à Oracle, les stats sont bien plus rapide à collecter sous PostgreSQL…
Marc.
Hors ligne
#9 25/01/2011 16:45:29
- genio
- Membre
Re : fonction autovacuum
Merci...
J'ai fait un select de la table pg_statistic => OK
Comment fait-on par exemple, pour voir les cardinalités d'une colonne de la table TOTO (qui, si j'ai bien compris est représenté par la colonne starelid) ?
Hors ligne
#10 25/01/2011 16:50:16
- Marc Cousin
- Membre
Re : fonction autovacuum
Le mieux, c'est d'aller regarder pg_stats. C'est la colonne n_distinct
Marc.
Hors ligne
#11 25/01/2011 18:00:26
- genio
- Membre
Re : fonction autovacuum
Merci...
une autre : Nous avons un vacuum qui tourne tous les soir sur les tables suivantes : sessions_actions, sessions_threads et operatorvars...
Je suppose que ce sont les tables 'systeme' les plus utilisées par Postgrès ?
Hors ligne
#12 25/01/2011 18:03:20
- Marc Cousin
- Membre
Re : fonction autovacuum
non, ce ne sont pas des tables système.
Marc.
Hors ligne
#13 25/01/2011 20:46:55
- gleu
- Administrateur
Re : fonction autovacuum
Pour infos, toutes les catalogues systèmes commencent par pg_. La partie information_schema est aussi considéré comme un catalogue système mais son nommage est défini par un standard.
Guillaume.
Hors ligne
Pages : 1