[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