Installation de la base de données
Squash TM est livré avec une base de données H2 par défaut. Cette base, utilisable à des fins d'évaluation, ne doit pas être utilisée dans un contexte de production.
Squash TM est compatible avec deux SGBD : PostgreSQL et MariaDB.
Les versions supportées et préconisées sont indiquées sur cette page.
Espace disque requis
Lors de certaines opérations impliquant la suppression massive de données, les moteurs de bases de données ne libèrent pas immédiatement l'espace disque occupé. Ces opérations peuvent temporairement augmenter l'espace utilisé par la base de données.
Par exemple, lorsque vous supprimez un grand nombre d'enregistrements, le moteur de base de données conserve initialement l'espace alloué, le marquant simplement comme disponible pour de futures utilisations. Ce comportement permet d'optimiser les performances en évitant de réorganiser constamment les fichiers de données.
Pour cette raison, il est recommandé de disposer d'un espace disque au moins 1,5 fois supérieur à la taille actuelle de la base de données. Cela garantit une marge suffisante pour les opérations de maintenance et les traitements de grandes quantités de données.
Si vous voulez récupérer effectivement l'espace disque devenu inutilisé, vous devez utiliser des commandes spécifiques :
- Pour PostgreSQL : utilisez la commande SQL
VACUUM
- Pour MariaDB : utilisez la commande SQL
OPTIMIZE TABLE
Ces commandes réorganisent physiquement les fichiers de données, libérant réellement l'espace disque qui n'est plus nécessaire.
PostgreSQL
Pour créer une nouvelle base de données en UTF8 pour l'application Squash TM, passer les requêtes suivantes :
CREATE DATABASE squashtm WITH ENCODING='utf8';
CREATE USER "squash-tm" WITH PASSWORD 'password';
ALTER DATABASE squashtm OWNER TO "squash-tm";
GRANT CONNECT ON DATABASE squashtm TO "squash-tm";
Pour installer la base de données :
- Accéder au fichier de configuration
squash.tm.cfg.properties
; - Y modifier le paramètre
squash.db.update-mode
pour lui mettre la valeuronly
; - Lancer Squash TM qui va installer la base et s'arrêter immédiatement après.
Une fois la base installée :
- Mettre la valeur adéquate au paramètre
squash.db.update-mode
dans le fichiersquash.tm.cfg.properties
. Les valeurs possibles et leurs effets sont décrits sur cette page.
Focus
Nous vous conseillons de réaliser toutes les actions sur la base de données avec l'utilisateur 'squash-tm'.
S'assurer que l'utilisateur squash-tm
dispose bien des droits de propriétaire sur la base de données. Réattribuer ces droits si nécessaire.
Info
La suppression d'objets Squash TM contenant des pièces jointes ne libère pas la place occupée par ces pièces jointes dans la base (seulement le lien vers l'espace occupé par les fichiers).
Pour libérer la place occupée sur le disque, il est nécessaire d'utiliser le programme vacuumlo
(voir la documentation de PostgreSQL) et nettoyer ainsi la base de données des fichiers devenus inutiles.
MariaDB
Configuration de MariaDB
La variable @@sql_mode
doit contenir les tags suivants :
NO_ENGINE_SUBSTITUTION
STRICT_TRANS_TABLES
Et ne doit pas contenir les éléments suivants :
ONLY_FULL_GROUP_BY
EMPTY_STRING_IS_NULL
NO_BACKSLASH_ESCAPES
Les variables doivent être définies dans le fichier de configuration my.ini
, dans la section [mysqld]
.
Attention
Utiliser impérativement InnoDB. Le moteur de la base de données doit impérativement être un moteur transactionnel.
Le moteur MyISAM, par exemple, n'est pas transactionnel et risque de corrompre vos données. Son utilisation est déconseillée et Henix ne saurait être responsable des anomalies engendrées par son utilisation.
Pour créer une nouvelle base de données en UTF8 pour l'application Squash TM, passer les requêtes suivantes avec un utilisateur ayant les pleins pouvoirs :
CREATE DATABASE IF NOT EXISTS squashtm CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'squash-tm'@'localhost' IDENTIFIED BY 'password';
GRANT ALL ON squashtm.* TO 'squash-tm'@'localhost';
FLUSH PRIVILEGES;
Pour installer la base de données :
- Accéder au fichier de configuration
squash.tm.cfg.properties
; - Y modifier le paramètre
squash.db.update-mode
pour lui mettre la valeuronly
; - Lancer Squash TM qui va installer la base et s'arrêter immédiatement après.
Une fois la base installée, mettre la valeur adéquate au paramètre squash.db.update-mode
dans le fichier squash.tm.cfg.properties
, les valeurs possibles et leurs effets sont décrits sur cette page.
Analyse des problèmes de création de la base de données
Si des erreurs surviennent lors de l'initialisation de la base de données, vous pouvez consulter les logs dans le fichier squash-tm.log
. Les détails de l'initialisation, dont les statuts d'exécution, sont également consignés dans la table DATABASECHANGELOG
.