[Lizmap-de] Erfahrung mit pg_service.conf oder auch .pg_service.conf Konfiguration für Zugang zu Postgresdaten

Etienne Trimaille etrimaille at 3liz.com
Do Apr 4 05:30:16 PDT 2024


Hi,

Sorry, writing in English.

Thanks for your feedbacks !

I'm aware it's not easy to fully use service file.

It's indeed strange, but the documentation about "PostgreSQL service" is 
better on qgis.org website than PostgreSQL website ...

https://www.postgresql.org/docs/current/libpq-pgservice.html

https://docs.qgis.org/3.34/en/docs/user_manual/managing_data_source/opening_data.html#postgresql-service-connection-file

Please do not hesitate to submit a PR on the QGIS documentation website :

https://github.com/qgis/QGIS-Documentation/blob/master/docs/user_manual/managing_data_source/opening_data.rst#postgresql-service-connection-file 
(there is a small pen icon)

to rephrase or add a note.

 > «Prevent PostgresSQL layers from using a service file» waren die 
Checks OK. (Komischer Check!)

Indeed ! :)

We DO recommend using a service file, but it needs a step on server as 
you understood :) That's why it gives a hint that it's not "out of the box".

Cheers


On 04/04/2024 14:06, Petert Berger via Lizmap-de wrote:
>
> Hallo zusammen
>
> Ich möchte euch noch gerne meine Erfahrungen mit dem der 
> pg_service.conf teilen. Dabei beziehe ich mich auf Linux. Es ist 
> nämlich etwas tricky.
>
> Offiziell findet man in der Postgres-Dokumentation dies:
>
>
>     The Connection Service File
>
> The connection service file allows libpq connection parameters to be 
> associated with a single service name. That service name can then be 
> specified in a libpq connection string, and the associated settings 
> will be used. This allows connection parameters to be modified without 
> requiring a recompile of the libpq-using application. The service name 
> can also be specified using the |PGSERVICE| environment variable.
>
> Service names can be defined in either a per-user service file or a 
> system-wide file. If the same service name exists in both the user and 
> the system file, the user file takes precedence. By default, the 
> per-user service file is named |~/.pg_service.conf|. On Microsoft 
> Windows, it is named |%APPDATA%\postgresql\.pg_service.conf|(where 
> |%APPDATA%| refers to the Application Data subdirectory in the user's 
> profile). A different file name can be specified by setting the 
> environment variable |PGSERVICEFILE|. The system-wide file is named 
> |pg_service.conf|. By default it is sought in the |etc| directory of 
> the PostgreSQL installation (use |pg_config --sysconfdir| to identify 
> this directory precisely). Another directory, but not a different file 
> name, can be specified by setting the environment variable |PGSYSCONFDIR|.
>
> Meine Erfahrungen:
>
>   * Zuerst habe ich mir in der User HOME-Verzeichnis ein
>     |~/.pg_service.conf|||File angelegt. Dann hat es in QGIS
>     funktioniert. In QGIS muss man dann eigentlich in den
>     PostgeSQL-Settings nur den Service eintragen und es funktioniert.
>   * Dann habe ich Lizmap geöffnet und da meckert Lizmap bei den
>     Checks. Nach Abschalten in den Services, «Prevent PostgresSQL
>     layers from using a service file» waren die Checks OK. (Komischer
>     Check!)
>   * Im Web war dann der Postgres-Layer wiederum nicht zu sehen. Hmm..
>     Dann die Erleuchtung, dass der QGIS-Server ja nicht als gleicher
>     User läuft und somit er das |~/.pg_service.conf File |im
>     Verzeichnis des anderen User nicht sieht. Also müsste ich das File
>     an mehreren Ort haben. Nicht praktikabel!
>   * Ich habe dann entschieden, dass ich das Ganze systemweit verfügbar
>     mache indem ich |pg_config –sysconfdir |aufrufe. Da kommt dies
>     raus|/etc/postgresql-common|. Nun habe ich das File
>     |~/.pg_service.conf |in diesen Ordner kopiert. Funktionierte
>     nicht! Hmm… Aha, das File hat dort einen anderen Namen nicht
>     |~/.pg_service.conf|||sondern |~/pg_service.conf|. Also ohne
>     führenden Punkt. Nun hat es funktioniert!
>   * Man kann den Bezug auf das File auch in der Environment
>     Variable PGSERVICEFILE definieren. Ob das funktioniert habe ich
>     bis jetzt nicht ausprobiert. Hat jemand Erfahrung damit?
>
> Etwas mühsam ist dies jedoch, wenn man ein QGIS-File auf einem System 
> ohne Postgreszugang aufruft. Dann funktionieren die Postgres-Layer nicht.
>
> Gruss, Peter
>
> *Von:*Lizmap-de <lizmap-de-bounces at lists.osgeo.org> *Im Auftrag von 
> *Peter Berger via Lizmap-de
> *Gesendet:* Donnerstag, 28. März 2024 14:53
> *An:* Jörg Thomsen <joerg.thomsen at wheregroup.com>
> *Cc:* lizmap-de at lists.osgeo.org
> *Betreff:* Re: [Lizmap-de] Lizmap Rechte für Postgres-Layer direkt in 
> das QGIS-File einbinden
>
> Hallo Jörg
>
> Vielen Dank für deinen Beitrag. Wir haben also diese Möglichkeiten:
>
> Die Credentials in ein dezidiertes File einzubinden, pg_service.conf.
>
> In ein QGIS-File händisch pro Layer einzutragen.
>
> Und via QGIS in einer Konfiguration einzutragen. Dies funktioniert bei 
> mir jedoch nicht! Sollte doch? Hat QGIS, mindestens bei den 3.34.x 
> Versionen einen Bug?
>
> Wie immer, das mit dem pg_service.conf funktioniert. Ich werde in 
> Zukunft diesen Weg gehen.
>
> Liebe Grüsse
>
> Peter
>
>
>
>     Am 28.03.2024 um 08:42 schrieb Jörg Thomsen via Lizmap-de
>     <lizmap-de at lists.osgeo.org>:
>
>     
>
>     Moin,
>
>     ein Zwischenruf von der Seite.
>
>     > Da ist zwar noch ein weiteres File dabei, ich hab aber nie
>     rausgefunden, wofür das ist.
>
>     https://docs.qgis.org/3.16/de/docs/user_manual/appendices/qgis_file_formats.html
>     ->
>
>         Die *QGD*-Datei ist die zugehörige Sqlite-Datenbank des
>         qgis-Projekts, die Hilfsdaten für das Projekt enthält.
>
>         Für postgis schick in in den nächsten Tagen nochmal was. Wir
>         haben das bei uns immer mit einem service definitions file gelöst.
>
>     https://wheregroup.com/blog/details/einfache-verbindung-von-postgresql-postgis-datenbanken-mit-qgis-mittels-mit-pg-serviceconf/
>
>     Viele Grüße, Jörg
>
>     ---------------------------------------------
>     Schon gewusst?

>     In unserem Blog geben wir Tipps & Tricks zu Open-Source-GIS-Software
>     und berichten aus unserem Experten-Alltag:
>     https://wheregroup.com/blog/
>     ---------------------------------------------
>
>
>     Jörg Thomsen
>     WhereGroup GmbH
>     Bundesallee 23
>     10717 Berlin
>     Germany
>
>     Tel: +49 (0)30 / 5130 278 74
>     Fax: +49 (0)30 / 5130 278 11
>
>     joerg.thomsen at wheregroup.com
>     www.wheregroup.com <http://www.wheregroup.com>
>
>     Geschäftsführer:
>     Olaf Knopp, Peter Stamm
>     Amtsgericht Bonn, HRB 9885
>
>     -------------------------------
>     Folgen Sie der WhereGroup auf twitter:
>     http://twitter.com/WhereGroup_com
>
>     -- 
>     Lizmap-de mailing list
>     Lizmap-de at lists.osgeo.org <mailto:Lizmap-de at lists.osgeo.org>
>     https://lists.osgeo.org/mailman/listinfo/lizmap-de
>     <https://lists.osgeo.org/mailman/listinfo/lizmap-de>
>
>
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> 
> 	Virenfrei.www.avast.com 
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> 
>
>
> <#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>
-- 

Etienne Trimaille
Géomaticien
www.3liz.com <http://www.3liz.com>

*Tel.* 06 12 93 11 39
*Bureau*
31, rue de l'Argenterie
34000 Montpellier
*Siège social*
73, allée Kleber
Boulevard de Strasbourg
34000 Montpellier

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.osgeo.org/pipermail/lizmap-de/attachments/20240404/5940945b/attachment-0001.htm>


Mehr Informationen über die Mailingliste Lizmap-de