Aller au contenu

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 valeur only ;
  • 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.

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 valeur only ;
  • 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.