Vous n'êtes pas identifié(e).
Pages : 1
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
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
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
Ç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
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
si vous précisez un nom de table, vacuumdb ne vacuum que cette table. Cela restreint ce à quoi elle s'applique.
Marc.
Hors ligne
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
Ç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
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
Le mieux, c'est d'aller regarder pg_stats. C'est la colonne n_distinct
Marc.
Hors ligne
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
non, ce ne sont pas des tables système.
Marc.
Hors ligne
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