PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 03/03/2018 10:15:15

rapy73
Membre

Accès à la base de données

Bonjour,

Je suis sous fedora 27 linux
J'ai installé Postgresql en mode serveur , apache et php
les serveurs tournent
les accès en ligne de commande à la base de données fonctionnent, phpPgAdmin et PgAdmin3 fonctionnent

J'ai installé Dolibarr  ERP/CRM avec Dolibarrpm
j'ai obtenu comme résultat :!

Database Vérification des prérequis:
Ok Version de PHP 7.1.14
Ok Ce PHP prend bien en charge les variables POST et GET.
Ok Ce PHP prend en charge les sessions.
Ok Ce PHP prend en charge les fonctions graphiques GD.
Ok PHP supporte l'extension Curl
Ok Ce PHP prend en charge les fonctions UTF8.
Ok Votre mémoire maximum de session PHP est définie à 128M. Ceci devrait être suffisant.
Ok Le fichier de configuration /etc/dolibarr/conf.php existe.
Ok Le fichier /etc/dolibarr/conf.php est modifiable.

Veuillez suivre les étapes une à une. Choisissez votre mode d'installation et cliquez sur "Démarrer"…

Mais voilà après renseignement des différents champs dans dolibarr, j'obtiens le message d'erreur suivant :

Host, login or password incorrect
La connexion ayant échoué, les paramètres du serveur ou du super utilisateur sont peut-être incorrects.
Revenez en arrière et corrigez les paramètres invalides.

Pourquoi Dolibarr n'arrive pas à ce connecter à Postgresql ?   (je suis en localhost)
j'ai créé un utilisateur "dolibarrowner" avec son mot de passe
j'ai céé avec phpPgAdmin une base de données "dolibarr" avec les droit de dolibarrowner et autorisé en connection et autres
j'ai déclaré dans les champs à remplir de Dolobarr que j'utilise Pgsql >=9.0
port : 5432   (celui déclaré dans PgAdmin pour la nase de données "dolibarr"

Là je coince, je débute sous Posgresql,  qu'est-ce que j'ai oublié ? erreur ? vérification non faites ?

merci pour vos suggestions

Hors ligne

#2 03/03/2018 10:33:50

gleu
Administrateur

Re : Accès à la base de données

Il faudrait regarder dans les logs de PostgreSQL pour en savoir plus. Le message d'erreur qui doit y être pourra nous aider à vous aider.


Guillaume.

Hors ligne

#3 03/03/2018 11:11:39

rapy73
Membre

Re : Accès à la base de données

Voici les log
j'ai au préalable essayé de me connecter avec dolibarr, il y a bien une ligne où il y a un problème apparemment d'heure !!!  rien à voir avec mon problème de connexion, est-ce les bons log ?

[root@localhost pg_log]# cat postgresql-Sat.log
FATAL:  le système de bases de données se lance
LOG:  le système de bases de données a été arrêté à 2018-03-02 23:13:08 CET
FATAL:  le système de bases de données se lance
LOG:  Les protections sur la réutilisation d'un membre MultiXact sont maintenant activées
LOG:  le système de bases de données est prêt pour accepter les connexions
LOG:  lancement du processus autovacuum
ERREUR:  the log_filename parameter must equal 'postgresql-%Y-%m-%d_%H%M%S.log'
INSTRUCTION :  SELECT filename, filetime
          FROM pg_logdir_ls() AS A(filetime timestamp, filename text)
         ORDER BY filetime DESC
[root@localhost pg_log]#

Après de multiples recherches, je ne trouve pas les log de connexion
j'ai fais des manips dans /var/lib/pgsql/data/postgresql.conf  avec des example de variables à mettre à true , mais ça na fait que me faire des erreurs au redémarrage de postgresql.service
Dans ce même fichier j'ai vu dans la partie "Error reporting and logging" qu'il y avait plusieurs moyens de faire de la journalisation des erreurs, notamment "stderr"
# This is used when logging to stderr:
logging_collector = on                  # Enable capturing of stderr and csvlog
                                                         # into log files. Required to be on for
                                                       # csvlogs.
                                                      # (change requires restart)

# These are only used if logging_collector is on:
#log_directory = 'pg_log'               # directory where log files are written,
                                                        # can be absolute or relative to PGDATA
log_filename = 'postgresql-%a.log'      # log file name pattern,
                                                      # can include strftime() escapes
#log_file_mode = 0600                   # creation mode for log files,
                                                       # begin with 0 to use octal notation
log_truncate_on_rotation = on   

Donc je pense que le résultat de mes log ci-dessus est le bon, mais ou trouver les log de connection ? comment les activer ?

merci

Dernière modification par rapy73 (03/03/2018 12:38:50)

Hors ligne

#4 03/03/2018 18:51:00

dverite
Membre

Re : Accès à la base de données

Les logs de connexion sont dans le même fichier que les autres logs. Les échecs de connexion devraient y être dans tous les cas. Pour voir toutes les connexions, y compris les succès, mettre

log_connections = on

dans le postgresql.conf, redémarrer le serveur, regarder les logs à ce moment là, faire la manip avec dolibarr, et comparer les logs entre juste avant et juste après.

L'erreur mentionnant pg_logdir_ls() vient du logiciel pgAdmin, elle n'a pas de lien direct avec le reste.

Pour moi ce message d'erreur de dolibarr est intéressant

  "La connexion ayant échoué, les paramètres du serveur ou du super utilisateur sont peut-être incorrects"

Il dit explicitement qu'il veut se connecter en superutilisateur mais vous ne dites pas que le dolibarrowner que vous avez créé est superutilisateur.

Si la procédure d'install de dolibarr veut être superutilisateur c'est peut-être parce que c'est elle qui est censée créer l'utilisateur et la base. Parce que si ce n'est pas pour ça, ce serait pour quelle autre raison?

Hors ligne

#5 03/03/2018 20:49:32

rapy73
Membre

Re : Accès à la base de données

ok les logs fonctionnent
dans postrgresql.conf
j'ai mis
dans la partie  "Error reporting and logging"
# - What to Log -

#debug_print_parse = off
#debug_print_rewritten = off
#debug_print_plan = off
#debug_pretty_print = on
#log_checkpoints = off
log_connections = on
log_disconnections = on
#log_duration = off
#log_error_verbosity = default         
log_hostname = on
#log_line_prefix = ''

je redémarre le serveur postgresql
ok
si je fais des manip avec phpPgAdmin   ca se voit dans les logs
par contre toujours rien de dolibarr
je précise que je lance un install de dolibarr avec dans firefox : http://localhost/dolibarr/install/fileconf.php?selectlang=fr_FR
j'obtiens :

Database Vérification des prérequis:
Ok Version de PHP 7.1.14
Ok Ce PHP prend bien en charge les variables POST et GET.
Ok Ce PHP prend en charge les sessions.
Ok Ce PHP prend en charge les fonctions graphiques GD.
Ok PHP supporte l'extension Curl
Ok Ce PHP prend en charge les fonctions UTF8.
Ok Votre mémoire maximum de session PHP est définie à 128M. Ceci devrait être suffisant.
Ok Le fichier de configuration /etc/dolibarr/conf.php existe.
Ok Le fichier /etc/dolibarr/conf.php est modifiable.

Veuillez suivre les étapes une à une. Choisissez votre mode d'installation et cliquez sur "Démarrer"…

et c'est là que ça ne se connecte pas à postgresql

Aucune trace d'une connexion ou essai de connexion de la part de dolibarr dans les logs !

pouvez-vous dire comment passer mon utilisateur dolibarrowner en superutilisateur depuis PgAdmin ou en ligne de commande ?
je débute sous postgres donc pas encore appris les droits sur les utilisateurs,

Vous avez raison quand vous dites : que dollibarr cherche à créer la base et l'utilisateur, sauf qu'après recherche : si la base et l'utilisateur sont déjà créés (procédure que l'on trouve sur les tutos youtubes), il suffit de renseigner le nom de la base, le type de base de données et l'identifiant et mot de passe de l'utilisateur de la base de donnée, pour continuer l'installation de dolibarr.
A ce stade le validation des options de création de la base et de l'utilisateur ne fonctionnerait qu'avec mysql ou mariadb  (lu sur forum dolibarr)
J'ai essayé cette manip de création, en donnant l'identiant et mot de passe du superutilisateur (administrateur de la base) mais j'ai eu exactement le même message d'erreur.

Je reviens, j'ai bien créé un utilisateur dolibarrowner avec tous les droits et superutilisateur, j'ai créé la base dolibarr avec tous les droits, cela ne change rien à l'absence de connexion de dolibarr pour finaliser l'install
il n'y a rien dans les logs, comme si dolibarr n'arrivait pas à toucher postgresql, donc peut-être qu'il y a un problème avec la version dolibarrpm pour fedora, j'essayerai demain d'installer la version zip.


merci

Dernière modification par rapy73 (04/03/2018 01:33:03)

Hors ligne

#6 05/03/2018 00:55:10

gleu
Administrateur

Re : Accès à la base de données

Pas besoin d'activer la trace des connexions pour avoir les messages d'erreur de connexions. Si vous n'avez rien dans les traces, c'est que la connexion n'arrive pas à PostgreSQL. SI rien n'arrive dans PostgreSQL, c'est soit parce que vous vous trompez dans les options de connexion, soit quelque chose intercepte votre demande de connexion (par exemple un firewall).


Guillaume.

Hors ligne

Pied de page des forums