banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Thu 01 July 2021 12:03

Alison
Participant occasionnel
Date d'inscription: 2 Sep 2019
Messages: 26

QGIS/PostGIS: Compte BDD

Bonjour,

J'ai du mal à comprendre le système de compte PostGIS - QGIS.

Pour notre cas, nous avons créés un compte PostGIS (que nous allons appeler) "1".
Nous avons tous travaillés dessus.

Ensuite, nous avons créés un compte pour chacun des salariés : a,b,c... dans pgAdmin.
Les salariés se sont connectés à ce nouveau compte individuel dans QGIS par PostGIS (dans l'explorateur) > Éditer la connexion : onglet authentification/de base.

Sauf que quand on ouvre un ancien projet, les couches cherchent la connexion par le compte "1" et non a,b,c...

Comment résoudre ce problème proprement s'il vous plaît ?

Merci

Hors ligne

 

#2 Thu 01 July 2021 13:40

chanteclair
Participant assidu
Lieu: Pau
Date d'inscription: 3 Jan 2007
Messages: 725

Re: QGIS/PostGIS: Compte BDD

Bonjour,
Vu votre description, vos paramètres de connexion du compte "1" ont été stockés dans le projet Qgis, donc il est normal que ce soient les identifiants recherchés lorsque vous ouvrez ce projet, quand bien même d'autres comptes de connexion ont été créés.
Il vous faudrait passer par le système de connexion via fichier (pg_service.conf) pour que ces identifiants ne soient pas stockés (en clair) dans le .qgs (ce qui ne dispensera pas non plus, que les différents comptes aient des droits à peu près similaires pour l'accès aux schémas et tables).
https://georezo.net/forum/viewtopic.php … =pgservice
https://georezo.net/forum/viewtopic.php … rvice.conf
Cordialement.

Dernière modification par chanteclair (Thu 01 July 2021 13:41)

Hors ligne

 

#3 Thu 08 July 2021 15:40

Alison
Participant occasionnel
Date d'inscription: 2 Sep 2019
Messages: 26

Re: QGIS/PostGIS: Compte BDD

Bonjour,

Merci pour votre réponse, j'ai donc créée le "pg_service.conf" avec les infos de la BDD.
Je l'ai converti en Unix.
J'ai redémarré QGIS et la connexion marche bien que par service.

Cependant, ça ne marche toujours pas... il me redemande de saisir les identifiants sur certains projets.
Pouvez-vous m'aider à nouveau SVP ?

Hors ligne

 

#4 Thu 08 July 2021 17:16

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 572
Site web

Re: QGIS/PostGIS: Compte BDD

Bonjour,
Avez-vous bien modifié vos sources de données pour utiliser le pg_service dans tous les projets ?


Jean-Marie
Azimut

Hors ligne

 

#5 Thu 08 July 2021 17:28

Alison
Participant occasionnel
Date d'inscription: 2 Sep 2019
Messages: 26

Re: QGIS/PostGIS: Compte BDD

Merci pour votre réponse, qu'appelez-vous "modifié vos sources de données" ?

Hors ligne

 

#6 Fri 09 July 2021 09:39

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 572
Site web

Re: QGIS/PostGIS: Compte BDD

Lorsque vous ajoutez une couche PostGIS, vous utilisez une connexion qui peut-être définie par

Code:

source="dbname='xxx' host=xxx port=5432 user='xxx'..."

ou bien

Code:

source="service='xxx'..."

Je suppose que dans les projets posant problème, la source est toujours dans la première version. Vous pouvez le vérifier dans l'onglet "Information" des propriétés de la couche ou simplement en survolant le nom d'une couche dans l'arbre des couches

Dernière modification par jmarsac (Fri 09 July 2021 09:40)


Jean-Marie
Azimut

Hors ligne

 

#7 Fri 09 July 2021 11:59

Alison
Participant occasionnel
Date d'inscription: 2 Sep 2019
Messages: 26

Re: QGIS/PostGIS: Compte BDD

Bonjour, merci pour votre réponse.

Tout à fait, j'ai bien la première version.

J'ai même une fenêtre qui s'ouvre à l'ouverture du projet :
"Saisir les identifiants" avec une erreur "FATAL: authentification par mot de passe échouée pour l'utilisateur".

Comment résoudre ce problème ?

Hors ligne

 

#8 Fri 09 July 2021 12:03

chanteclair
Participant assidu
Lieu: Pau
Date d'inscription: 3 Jan 2007
Messages: 725

Re: QGIS/PostGIS: Compte BDD

Bonjour,
La variable d'environnement PGSERVICEFILE dans Préférences/Options/Système existe-t-elle bien sur votre PC et pointe-t-elle bien sur l'emplacement de votre fichier pg_service.conf ?

Hors ligne

 

#9 Fri 09 July 2021 12:32

Alison
Participant occasionnel
Date d'inscription: 2 Sep 2019
Messages: 26

Re: QGIS/PostGIS: Compte BDD

Bonjour,

Dans les variables d'environnement Windows j'ai la variable "PGSYSCONFDIR" qui pointe vers "C:\Users\*******\AppData\Roaming\QGIS\QGIS3\profiles\default"

Dans QGIS : Préférences > Options, onglet Système, je retrouve cette variable dans les "Variable d'environnement courantes".

Est-ce bien cela ?

Hors ligne

 

#10 Fri 09 July 2021 13:29

chanteclair
Participant assidu
Lieu: Pau
Date d'inscription: 3 Jan 2007
Messages: 725

Re: QGIS/PostGIS: Compte BDD

Il faut que votre variable pointe sur le fichier et non un répertoire, donc plutôt :

C:\Users\*******\AppData\Roaming\QGIS\QGIS3\profiles\default\pg_service.conf

que

C:\Users\*******\AppData\Roaming\QGIS\QGIS3\profiles\default

si c'est bien l'emplacement de votre fichier.

Hors ligne

 

#11 Fri 09 July 2021 14:12

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 572
Site web

Re: QGIS/PostGIS: Compte BDD

chanteclair a écrit:

Il faut que votre variable pointe sur le fichier et non un répertoire, donc plutôt :

C:\Users\*******\AppData\Roaming\QGIS\QGIS3\profiles\default\pg_service.conf

que

C:\Users\*******\AppData\Roaming\QGIS\QGIS3\profiles\default

si c'est bien l'emplacement de votre fichier.


Non, il y a confusion.

la variable PGSYSCONFDIR doit pointer sur le répertoire contenant le fichier pg_service.conf (comme son nom l'indique).

La variable PGSERVICEFILE doit pointer sur le fichier

Dernière modification par jmarsac (Fri 09 July 2021 14:15)


Jean-Marie
Azimut

Hors ligne

 

#12 Fri 09 July 2021 14:15

chanteclair
Participant assidu
Lieu: Pau
Date d'inscription: 3 Jan 2007
Messages: 725

Re: QGIS/PostGIS: Compte BDD

Oups, désolé, j'avais lu en travers le nom de la variable.
J'utilise la variable PGSERVICEFILE pour ma part qui pointe donc sur le fichier et cela fonctionne sans souci.

Hors ligne

 

#13 Fri 09 July 2021 14:17

Alison
Participant occasionnel
Date d'inscription: 2 Sep 2019
Messages: 26

Re: QGIS/PostGIS: Compte BDD

En effet, j'ai pointé vers le fichier et ça ne marchait toujours pas.

Du coup que dois-je faire ?
Je créée une variable supplémentaire "PGSERVICEFILE" qui pointe vers le fichier ?

Hors ligne

 

#14 Fri 09 July 2021 14:22

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 572
Site web

Re: QGIS/PostGIS: Compte BDD

Alison a écrit:

Bonjour, merci pour votre réponse.

Tout à fait, j'ai bien la première version.

Comment résoudre ce problème ?


Dans ce cas, pour chaque couche concernée, il faut changer sa source de données pour utiliser le service (la supprimer et la rattacher avec une connexion PostGIS qui utilise le service; ou bien utiliser le plugin "changeDataSource"

Dans les deux cas, il faut que la connexion PostGIS utilisant le service soit diponible

Dernière modification par jmarsac (Fri 09 July 2021 14:23)


Jean-Marie
Azimut

Hors ligne

 

#15 Fri 09 July 2021 14:26

chanteclair
Participant assidu
Lieu: Pau
Date d'inscription: 3 Jan 2007
Messages: 725

Re: QGIS/PostGIS: Compte BDD

Pour ce qui me concerne, j'ai une variable d'environnement windows nommée PGSERVICEFILE qui a pour valeur le chemin d'accès à mon fichier pg_service.conf (fichier compris).
A l'ouverture de Qgis, cette variable est chargée dans les variables système Qgis et me permet donc d'utiliser les services PGSQL.
Il est aussi possible de déclarer cette variable dans le qgis.bat pour qu'elle s'initialise au démarrage de Qgis (attention, cela induit qu'il faut lancer Qgis systématiquement par le .bat et non plus par le .exe) et obtenir le même résultat.

Dernière modification par chanteclair (Fri 09 July 2021 14:26)

Hors ligne

 

#16 Fri 09 July 2021 15:03

Alison
Participant occasionnel
Date d'inscription: 2 Sep 2019
Messages: 26

Re: QGIS/PostGIS: Compte BDD

jmarsac : d'accord, du coup ce n'est pas possible d'automatiser la récupération, il faut forcément faire à la main ?

chanteclair : d'accord, même si un collègue importe des tables dans un projet avec son compte et que vous ouvrez ensuite le projet, il ne vous redemande pas de créer les liens ? Car pour ma part, il cherche à ouvrir les tables avec son compte (sans passer par mon service).

Hors ligne

 

#17 Fri 09 July 2021 15:15

chanteclair
Participant assidu
Lieu: Pau
Date d'inscription: 3 Jan 2007
Messages: 725

Re: QGIS/PostGIS: Compte BDD

Comme le dit @jmarsac, il faut que les couches soient chargées avec via une connexion PGSQL utilisant le service mis en place.
Ce qui compte c'est avant tout la source (vous chargez tous des données depuis un même serveur) puis les droits (si vous ajoutez une couche d'un schéma auquel n'a pas accès un de vos collègues dans son profil de connexion, cela créera forcément une erreur, mais si vous ajoutez cette couche en lecture/écriture pour vous, que votre collègue n'y a accès qu'en lecture seule, cela ne posera ps de problème).

Hors ligne

 

#18 Fri 09 July 2021 18:11

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 572
Site web

Re: QGIS/PostGIS: Compte BDD

En fait, les deux notions sont relativement indépendantes (c'est la bibliothèque PostgreSQL (libpq) qui lit les variables d'environnement PGSYSCONFDIR ou PGSERVICEFILE). Les variables PGSYSCONFDIR ET PGSERVICEFILE peuvent être définies au niveau "Utilisateur" ou "Système" de Windows

Vous pouvez utiliser le même service sur tous les postes mais avec des droits différents. Il suffit pour cela de garder le même nom de service dans le fichier pg_service.conf.

Si par exemple, vous êtes sigadmin votre fichier pg_service.conf contiendra

Code:

[qgis]
host=dbserver
port=5432
user=sigadmin
password=xxxx
dbname=basesig
application_name=SIGADMIN

et si vos collègues ne peuvent que consulter les tables, leur fichier pg_service.conf contiendra :

Code:

[qgis]
host=dbserver
port=5432
user=sigreader
password=yyyy
dbname=basesig
application_name=QGIS

ainsi vous pouvez tous utiliser le même projet QGIS (le nom de service est identique) mais avec des droits différents (sigadmin peut modifier la base alors que sigreader peut seulement la consulter)


d'accord, du coup ce n'est pas possible d'automatiser la récupération, il faut forcément faire à la main ?


Si vous maitrisez un éditeur de texte (tel que sed ou notepad++) et la structure du fichier .qgs, vous pouvez éventuellement faire une modification globale sur tous les fichiers .qgs (c'est un peu plus compliqué avec les fichiers .qgz) quand ils ne sont pas utilisés; mais pensez à les sauvegarder au préalable au cas où !


Jean-Marie
Azimut

Hors ligne

 

#19 Mon 12 July 2021 10:44

Alison
Participant occasionnel
Date d'inscription: 2 Sep 2019
Messages: 26

Re: QGIS/PostGIS: Compte BDD

Bonjour,

Merci pour vos réponses, en effet ça marche.
Nous allons faire passer l'ensemble de nos comptes a,b,c (pour reprendre mon premier exemple) par le même service.

En revanche quid du compte 1 ?
Changer le mot de passe ou autre va casser les liens et il faudra effectivement les modifier à la main.

J'avais pensé, ne pouvons-nous pas ruser en passant le compte 1 en lecture seule ?
Ainsi, les utilisateurs devront obligatoirement changer de compte pour continuer à travailler et les liens ne seront pas cassés ?

Hors ligne

 

#20 Tue 13 July 2021 10:03

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 572
Site web

Re: QGIS/PostGIS: Compte BDD

Pourquoi ne pas remplacer les références au compte 1 par le même service ?


Jean-Marie
Azimut

Hors ligne

 

#21 Tue 13 July 2021 11:04

Alison
Participant occasionnel
Date d'inscription: 2 Sep 2019
Messages: 26

Re: QGIS/PostGIS: Compte BDD

Comme faites-vous cela ?
Car désormais nous avons chacun le même service ([CONNEXION]) avec notre identifiant personnel (a,b,c).

Hors ligne

 

#22 Tue 13 July 2021 13:23

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 572
Site web

Re: QGIS/PostGIS: Compte BDD

Ce n'est as ce que vous vouliez ? Précisez svp


Jean-Marie
Azimut

Hors ligne

 

#23 Tue 13 July 2021 14:47

Alison
Participant occasionnel
Date d'inscription: 2 Sep 2019
Messages: 26

Re: QGIS/PostGIS: Compte BDD

Désolée si je ne suis pas claire.

Je vais reprendre, au début nous avions tous un seul et même compte : "1".
Nous avons travaillé sur plusieurs projets QGIS du serveur avec ce compte.
Ensuite, nous avons créé les comptes "a,b,c.." et tout le monde a continué à travailler avec ces comptes.

Désormais, nous passons par votre système, par le même service ([CONNEXION]) avec, comme vous le disiez en exemple, chacun notre compte "a,b,c..." en user & password.

Finalement le compte "1" n'est plus utilisé il faut le désactiver.
Mais si on change son mot de passe ou si on le supprime ça va casser les liens de tous nos projets QGIS du serveur (et il y en a beaucoup).

Hors ligne

 

#24 Tue 13 July 2021 16:17

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 572
Site web

Re: QGIS/PostGIS: Compte BDD

Alison a écrit:

Finalement le compte "1" n'est plus utilisé il faut le désactiver.
Mais si on change son mot de passe ou si on le supprime ça va casser les liens de tous nos projets QGIS du serveur (et il y en a beaucoup).


J'avoue ne pas comprendre; vous voulez ne plus l'utiliser et le désactiver mais vous voulez le conserver dans les projets QGIS ???


Jean-Marie
Azimut

Hors ligne

 

#25 Thu 15 July 2021 11:03

Alison
Participant occasionnel
Date d'inscription: 2 Sep 2019
Messages: 26

Re: QGIS/PostGIS: Compte BDD

En fait, le problème c'est que le compte "1" est toujours actif et que certains collègues pourraient continuer à l'utiliser, ce qui poserait des problèmes de sécurité notamment.

Hors ligne

 

#26 Thu 15 July 2021 11:08

jmarsac
Participant assidu
Lieu: NICE
Date d'inscription: 26 Oct 2005
Messages: 572
Site web

Re: QGIS/PostGIS: Compte BDD

Je suppose qu'il a des privilèges supérieurs à ceux des comptes "a,b,c...".

Si c'est bien le cas, il faut le remplacer par le service créé (utilisant les comptes "a,b,c...") dans tous les projets QGIS qui le référencent


Jean-Marie
Azimut

Hors ligne

 

Pied de page des forums

Powered by FluxBB