Création des bases de données

Vue générale

Chaque brique utilise une ou plusieurs bases de données PostgreSQL. Il est courant d’utiliser une installation à deux machines identiques en master/slave. Publik peut utiliser un système PostgreSQL existant, le cas échéant. Publik nécessite PostgreSQL version 11 ou supérieure (pour rappel, le support de PostgreSQL est d'environ 5 ans après la sortie d'une nouvelle version majeure).

Installation de PostgreSQL

Vérifier que les extensions PostgreSQL est installé :

apt install postgresql

Création automatisée des bases de données

Nous proposons un script pour la création des bases de données (distribué via le paquet publik-common), l’utilisation standard s’adresse à un cluster postgresql local :

publik-create-databases

Création manuelle des bases

Chaque composant Publik doit disposer :

  • d’une base de données dédiée,
  • d’un accès spécifique à cette base via un usager postgreSQL dédié (avec un mot de passe SQL à créer pour chaque composant).

Principe pour le composant combo :

CREATE USER combo PASSWORD 'indiquer-ici-le-mot-de-passe-pour-combo';

CREATE DATABASE combo WITH OWNER = combo TEMPLATE = template0 LC_COLLATE = 'fr_FR.UTF-8' LC_CTYPE = 'fr_FR.UTF-8';

Remarques :

  • template0 et LC_COLLATE et LC_CTYPE nécessaires parce que template1 est en en_US.UTF-8.
  • pour le module authentic2-multitenant, le nom du rôle est authentic-multitenant et le nom de la base est authentic2_multitenant (adaptez les commandes précitées comme suit : CREATE USER "authentic-multitenant"...)

La même opération doit être répétée pour chaque brique logicielle (bien sûr à chaque fois il faut noter le mot de passe choisi, il sera nécessaire par la suite) :

  • Combo
  • Hobo
  • Authentic
  • Passerelle
  • Fargo
  • Bijoe
  • Chrono

Pour étendre les possibilités de recherche plein texte, il est également utile d’activer l’extension « unaccent » dans la base de données Combo :

CREATE EXTENSION unaccent;

Sur la base de données authentic, activer les extensions suivantes :

CREATE EXTENSION unaccent;
CREATE EXTENSION pg_trgm;

Une brique est spécifique : w.c.s.. Pour w.c.s., il n’y a pas besoin de création d’une base, elle sera effectuée lors de l’instanciation. En revanche, l’utilisateur w.c.s. sur PostgreSQL doit avoir le droit CREATEDB, donc :

CREATE USER wcs PASSWORD 'indiquer-ici-le-mot-de-passe-pour-wcs' CREATEDB;

Sauvegarde

La mise en place d'un système de sauvegarde de la base de données est primordiale. Il est très fortement recommandé d'utiliser une solution de sauvegarde existante et éprouvée plutôt que de réaliser votre propre système. Nous utilisons pour notre offre SaaS le logiciel pgbackrest.

En cas de difficultés, nous vous invitons à contacter les entreprises spécialisées en support de PostgreSQL.