[Lizmap-de] Erfahrung mit pg_service.conf oder auch .pg_service.conf Konfiguration für Zugang zu Postgresdaten
Petert Berger
peter.berger at bluewin.ch
Do Apr 4 05:06:37 PDT 2024
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 <mailto: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 <mailto: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
<mailto:Lizmap-de at lists.osgeo.org> Lizmap-de at lists.osgeo.org
<https://lists.osgeo.org/mailman/listinfo/lizmap-de> https://lists.osgeo.org/mailman/listinfo/lizmap-de
--
Diese E-Mail wurde von Avast-Antivirussoftware auf Viren geprüft.
www.avast.com
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.osgeo.org/pipermail/lizmap-de/attachments/20240404/2a8a5d16/attachment.htm>
Mehr Informationen über die Mailingliste Lizmap-de