Maintenance de la base de données
Maintenance automatique quotidienne
Par défaut, l'un des cronjobs installés pour l'utilisateur eranger est responsable de la maintenance de la base de données :
$ crontab -l | grep expire 0 4 * * * /opt/eranger/bin/eranger-server-expire
Il réorganise quotidiennement les données en exécutant la fonction PostgreSLQ autovacuum afin que les données soient accessibles plus rapidement.
La configuration se fait dans la configuration du serveur SKOOR :
/etc/opt/eranger/eranger-server.cfg
Paramètres avec valeurs par défaut :
# Expire script config values expire_days_long = 366 expire_days_short = 31 expire_row_limit=
Nom du paramètre | Nom du paramètre Description |
---|---|
expire_days_long | Définit le nombre de jours pendant lesquels les entrées suivantes de la base de données sont conservées :
|
expire_days_short | Définit le nombre de jours pendant lesquels les messages d'erreur des travaux sont conservés dans la base de données. S'il est omis, il sera fixé à jours. |
expire_row_limit | Nombre maximal de lignes à supprimer en une seule fois de la base de données pour les entrées suivantes. En cas d'omission, les lignes seront supprimées sans limite :
|
Réécriture manuelle complète des tables
Cependant, autovacuum ne supprime pas encore réellement les données des tables qui ont été supprimées par les utilisateurs. Pour supprimer les données inutilisées et réécrire toutes les tables, la fonction vacuum full doit être utilisée. Un vacuum full ne peut être exécuté que lorsque le service eranger-server est arrêté.
Pour lancer un vacuum full, exécutez le script suivant :
/opt/eranger/bin/eranger-db-housekeeping.sh *** ATTENTION! This script will block eranger-server for a very long time! *** Do you really want to execute this script on database "ng" ? Yy/[Nn]: n
Répondez "y" à la question ci-dessus. L'opérateur fonctionnera pendant de nombreuses heures, en fonction de la quantité de données stockées dans la base de données.
Il est recommandé d'exécuter cette opération au moins une fois par an.