Installation avec postgresql de dolibarr 20.0.2

|Version|nginx/1.22.1|

Linux Version Linux 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64

Paramètre Valeur
Version 8.2.26
GET and POST support Ce PHP prend en charge les variables POST et GET.
Sessions support Ce PHP prend en charge les sessions.
UTF-8 support Ce PHP prend en charge les fonctions UTF8.
Extension Test
MBString Chargé - Ce PHP prend en charge les fonctions MBString.
JSON Chargé - Ce PHP prend en charge les fonctions JSON.
GD Chargé - Ce PHP prend en charge les fonctions GD.
Curl Chargé - Ce PHP prend en charge les fonctions Curl.
Calendar Chargé - Ce PHP prend en charge les fonctions Calendar.
Xml Chargé - Ce PHP prend en charge les fonctions Xml.
Intl Chargé - Ce PHP prend en charge les fonctions Intl.
IMAP Chargé - Ce PHP prend en charge les fonctions IMAP.
zip Chargé - Ce PHP prend en charge les fonctions zip.
xDebug Non - Votre installation PHP ne prend pas en charge les fonctions xDebug.

Base de données
Version PostgreSQL 17.2 (Debian 17.2-1.pgdg120+1)

J’installe Dolibarr 20.0.2 utilisant PostgreSQL. L’installation se déroule correctement jusqu’à présent, mais lors de l’étape de configuration, j’obtiens les messages d’erreur visibles sur la capture d’écran. Je souhaite résoudre ces problèmes afin de finaliser l’installation de manière optimale, mais je n’ai pas d’idée précise sur leur origine ni sur la manière de les corriger.

Les erreurs affichées lors de l’installation de Dolibarr avec PostgreSQL semblent indiquer des problèmes de relations manquantes ou de contraintes qui ne sont pas respectées

Erreur SQL DB_ERROR_42830 :

Cette erreur indique qu'une contrainte de clé étrangère (foreign key) n'a pas pu être créée parce qu'il manque une contrainte unique dans la table référencée.
Exemple :

Erreur SQL DB_ERROR_42830 : aucune contrainte unique pour la table « llx_c_type_contact ».

Cause possible : La table llx_c_type_contact ne contient pas de clé primaire ou d’index unique sur la colonne utilisée dans la contrainte.

Erreur SQL DB_ERROR_NOSUCHTABLE (42P01) :

Cette erreur indique que certaines relations (tables) nécessaires n'existent pas encore.
Exemple :

La relation « llx_bom_bom » n'existe pas.

Cause possible : Ces tables ne sont pas créées correctement pendant l’installation ou les fichiers SQL d’installation sont incomplets.

étapes je je vais tenter pour corriger les erreurs

  1. Identifier et comprendre les erreurs

Les erreurs signalées peuvent être divisées en deux catégories :

Clés étrangères (DB_ERROR_42830) : Une contrainte tente de référencer une colonne qui n'est pas unique ou qui manque d'index.
Tables ou relations manquantes (DB_ERROR_NOSUCHTABLE) : Certaines tables ou relations ne sont pas créées, ce qui entraîne des erreurs lors de la tentative de création de triggers.
  1. Étape par étape pour résoudre les erreurs
    Étape 1 : Vérifiez si les tables existent

Dans PostgreSQL, connectez-vous à votre base de données et listez les tables pour vérifier celles qui manquent :

sudo -u postgres psql
\c <nom_de_votre_base_de_données>
\dt

Vérifiez si les tables mentionnées dans les erreurs, comme llx_bom_bom, llx_c_type_contact, etc., existent. Si elles sont absentes, cela indique que certains scripts SQL d’installation n’ont pas été correctement exécutés.
Étape 2 : Réimportez les fichiers SQL manquants

Les scripts d’installation de Dolibarr incluent des fichiers .sql qui créent les tables et contraintes nécessaires. Ces fichiers se trouvent généralement dans le répertoire install/ de Dolibarr.

Localisez les fichiers SQL d’installation : Par exemple : /path/to/dolibarr/install/mysql/tables/

Exécutez ces fichiers pour créer les tables :

psql -U <nom_utilisateur> -d <nom_base_donnees> -f /path/to/file.sql

    Remplacez <nom_utilisateur> et <nom_base_donnees> par les valeurs correspondant à votre environnement.

Étape 3 : Résolvez l’erreur de clé étrangère (DB_ERROR_42830)

Une erreur de type DB_ERROR_42830 indique qu’une clé étrangère tente de référencer une colonne qui n’a pas d’index unique ou de clé primaire.

Identifiez la table concernée (par ex. llx_c_type_contact) :

\d llx_c_type_contact

Cela affichera les colonnes, contraintes et index de cette table.

Ajoutez un index ou une clé primaire si nécessaire : Par exemple, pour rendre une colonne unique :

ALTER TABLE llx_c_type_contact ADD CONSTRAINT unique_type_contact UNIQUE (nom_colonne);

Remplacez nom_colonne par la colonne utilisée dans la contrainte étrangère.

Étape 4 : Créez les tables ou relations manquantes

Si les erreurs signalent que des relations comme llx_bom_bom ou llx_mrp_mo sont absentes, vous devrez les créer manuellement ou réimporter les fichiers SQL correspondants.

Exemple pour créer une table manquante :

CREATE TABLE llx_bom_bom (
id SERIAL PRIMARY KEY,
name VARCHAR(255) NOT NULL
);

Assurez-vous que les relations et contraintes sont en accord avec la structure attendue par Dolibarr.
Étape 5 : Corrigez les déclencheurs (triggers)

Les triggers (CREATE TRIGGER …) dépendent des fonctions et des tables associées. Si ces derniers échouent, il faut vérifier si :

Les tables nécessaires (comme llx_bom_bom) existent.
La fonction update_modified_column_tms() existe :

\df update_modified_column_tms

Si elle est absente, créez la fonction :

CREATE OR REPLACE FUNCTION update_modified_column_tms()
RETURNS TRIGGER AS $$
BEGIN
NEW.tms = NOW();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;

  1. Recommencez l’installation

Une fois les erreurs corrigées :

Supprimez la base de données existante :

DROP DATABASE <nom_base_donnees>;

Recréez une base de données vide :

CREATE DATABASE <nom_base_donnees>;

Relancez le processus d’installation de Dolibarr.
  1. Vérifiez les journaux de PostgreSQL

Les journaux de PostgreSQL peuvent fournir des indices supplémentaires :

Fichier de log habituel : /var/log/postgresql/postgresql-<version>-main.log
Consultez les erreurs signalées avec :

tail -f /var/log/postgresql/postgresql-<version>-main.log

on m’as dit que ces problemes seront régler avec la version 20.0.3

je viens de l’essayer et maintenant c’est pire le dolibarr n’est pas fonctionnel en version 20.0.3 voici le message:

Dolibarr a détecté une erreur technique.
Voici les informations qui pourront aider au diagnostic (Vous pouvez fixer l’option $dolibarr_main_prod sur ‹ 1 › pour supprimer quelques notifications):
Date: 20241223055150
Dolibarr: 12.0.3 - https://www.dolibarr.org
Niveau de fonctionnalités: 0
PHP: 8.2.26
Server: nginx/1.22.1
OS: Linux 6.1.0-28-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.119-1 (2024-11-22) x86_64
UserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0

URL requise: /dolibarr/htdocs/admin/index.php?mainmenu=home&leftmenu=setup&username=admin
Referer: http://erp.anacondasrv.com/dolibarr/htdocs/admin/index.php?mainmenu=home&leftmenu=setup&username=admin
Gestionnaire de menu:

Modules / Applications: user
Type gestionnaire de base de données: pgsql
Erreur de demande d’accès à la base de données la plus récente: Aucune requête en erreur
Code de retour pour la dernière erreur de demande d’accès à la base de données: Aucune requête en erreur
Informations pour la dernière erreur de demande d’accès à la base de données: Aucune requête en erreur

Message: Error in some triggers USER_LOGIN or in some hooks afterLogin

Bonjour
Certain que vous avez poussé un v20 ?
@+