#1 Mon 12 April 2021 20:42
- Loulaco
- Juste Inscrit !
- Date d'inscription: 12 Apr 2021
- Messages: 6
QGIS 3.18: Fichier pgpass.conf
Bonjour,
Nous rencontrons un problème de reconnaissance de fichier pgpass.conf avec QGis sur Windows (version 3.18).
Ce fichier respecte bien les critères de configuration et d'enregistrement demandés par Postgresql car il fonctionne sous Linux.
Pourtant, malgré nos tentatives, QGis persiste à ne pas reconnaître ce fichier comme si nous ne l'avions pas créé.
Ainsi, nous comprenons que le problème provient de Windows mais ne parvenons pas à en trouver la source exacte. Serait-ce lié à ce bug ?
Le nom de mon compte Windows est identique à celui du serveur PostgreSQL, à une majuscule près.
Merci par avance pour toute piste de réponse.
Hors ligne
#2 Mon 12 April 2021 21:59
Re: QGIS 3.18: Fichier pgpass.conf
Bonsoir,
Où avez vous mis votre fichier pgpass.conf? Normalement, il doit être situé dans %APPDATA%\postgresql\pgpass.conf
Est-ce le cas?
Pour rapidement tester que votre fichier pgpass.conf fonctionne, vous pouvez simplement ouvrir une invite de commande puis tapez
Code:
psql service=votre_nom_de_service
Si la connexion est établie, c'est que le problème n'est pas au niveau de votre configuration du fichier de service mais bien au niveau de QGIS sinon relisez https://docs.postgresql.fr/13/libpq-pgpass.html Vous devrez potentiellement utiliser la variable d'environnement PGPASSFILE
Cordialement
Thomas
Hors ligne
#3 Tue 13 April 2021 10:43
- Loulaco
- Juste Inscrit !
- Date d'inscription: 12 Apr 2021
- Messages: 6
Re: QGIS 3.18: Fichier pgpass.conf
Bonjour,
Nous vous remercions pour votre réponse. Le fichier pgpass.conf est bien enregistré à cet endroit et nous utilisons également une variable d'environnement PGPASSFILE supplémentaire au cas où, mais rien n'y fait, QGis nous demande toujours nos identifiants de connexion...
De plus, nous rencontrons un second problème avec psql. L'invite de commande Windows nous affiche le message d'erreur suivant : 'psql' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.
Notre installation de PostgreSQL dans Windows comprend PgAdmin et Command Line Tools mais pas de serveur.
Encore une fois, cette manipulation fonctionne correctement sur Linux.
Merci d'avance,
Hors ligne
#4 Tue 13 April 2021 12:44
Re: QGIS 3.18: Fichier pgpass.conf
De plus, nous rencontrons un second problème avec psql. L'invite de commande Windows nous affiche le message d'erreur suivant : 'psql' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.
Bonjour,
Vous devez vérifier que le chemin contenant l'exécutable psql (psql.exe) est bien dans la variable %PATH% du poste.
Jean-Marie
Azimut
Hors ligne
#5 Tue 13 April 2021 12:57
Re: QGIS 3.18: Fichier pgpass.conf
Bonsoir,
Où avez vous mis votre fichier pgpass.conf? Normalement, il doit être situé dans %APPDATA%\postgresql\pgpass.conf
Est-ce le cas?
Pour rapidement tester que votre fichier pgpass.conf fonctionne, vous pouvez simplement ouvrir une invite de commande puis tapezCode:
psql service=votre_nom_de_serviceSi la connexion est établie, c'est que le problème n'est pas au niveau de votre configuration du fichier de service mais bien au niveau de QGIS sinon relisez https://docs.postgresql.fr/13/libpq-pgpass.html Vous devrez potentiellement utiliser la variable d'environnement PGPASSFILE
Cordialement
Thomas
Thomas a mélangé les fichier pgpass et pg_service (que j'utilise de préférence) :
exemple :
Code:
[nom_du_service] host=nom_host port=port user=nom_utilisateur password=mot_de_passe dbname=nom_bd application_name=nom_application
NB: le nom de l'application est facultatif et enregistré dans les logs de PostgreSQL
pour l'utiliser, il faut définir la variable %PGSYSCONFDIR% (au niveau Système ou Utilisateur) avec l'emplacement du fichier (généralement %APPDATA%\postgresql\)
et indiquer le nom du service avec QGIS ou psql :
Code:
psql "service=nom_du_service"
Voir https://www.postgresql.org/docs/13/libpq-pgservice.html
Dernière modification par jmarsac (Tue 13 April 2021 12:59)
Jean-Marie
Azimut
Hors ligne
#6 Tue 13 April 2021 13:26
Re: QGIS 3.18: Fichier pgpass.conf
Salut,
Méa culpa sur le mélange .pgpass et pg_service.conf et merci pour la correction Jean Marie.
Concernant l'absence de psql, soit il n'est pas dans le chemin mais présent et il faut changer le path, soit s'il n'est pas présent et vous devez l'installer avec l'installeur PostgreSQL https://stackoverflow.com/a/60369228/768440 qui permet d'installer psql sans installer le reste de PostgreSQL (cocher uniquement Command line tools)
Cordialement
Thomas
Hors ligne
#7 Tue 13 April 2021 16:50
- Loulaco
- Juste Inscrit !
- Date d'inscription: 12 Apr 2021
- Messages: 6
Re: QGIS 3.18: Fichier pgpass.conf
Bonjour,
Merci pour cette solution. Le fichier pg_service a fonctionné immédiatement sous Windows pour l'accès à la base de donnée.
Nous avons donc créé un fichier pg_service.conf avec les informations suivantes :
Code:
[mon_service] host=mon_hote port=mon_port user=utilisateur password=mot_de_passe dbname=base_de_donnees
Puis une variable PGSYSCONFDIR a été créée dans les variables d'environnement de Windows (au niveau utilisateur) avec le chemin d'accès à ce fichier, en l'occurence : C:\Users\Utilisateur\AppData\Roaming\postgresql\
Dans QGis, il s'agit de passer par le gestionnaire de sources de données (onglet PostgreSQL) ou ajouter des couches PostGis, puis de créer une nouvelle connexion en renseignant le nom et uniquement le service.
Dans psql, il suffit de taper, comme vous l'avez indiqué : psql service=mon_service et ça fonctionne immédiatement.
Quant à psql qui n'était pas reconnu comme une application par l'invite de commande, nous avons ajouté son chemin d'accès dans la variable %Path% des variables d'environnement de Windows : C:\Program Files\PostgreSQL\13\bin
Tout fonctionne parfaitement désormais, mais il reste à comprendre pourquoi pgpass.conf n'est pas reconnu sous Windows, y compris en indiquant son chemin d'accès dans la variable %PGPASSFILE% dans QGis ou dans les variables d'environnement de Windows.
En vous remerciant pour l'aide apportée.
Dernière modification par Loulaco (Tue 13 April 2021 16:52)
Hors ligne