In PostgreSQL bietet das Service Configuration File .pg_service.conf eine einfache Möglichkeit, Verbindungsparameter zu verwalten und wiederverwendbare Konfigurationen für verschiedene PostgreSQL-Datenbankverbindungen zu erstellen und somit die Definition von Verbindungsinformationen zu vereinfachen. In diesem Artikel werden wir die Funktionalitäten und Anwendungsmöglichkeiten von .pg_service.conf erkunden.
Die Konfigurationsdatei ~/.pg_service.conf
Die Datei .pg_service.conf ermöglicht es, Verbindungsinformationen an einem zentralen Ort zu verwalten, anstatt sie jedes Mal beim Verbindungsaufbau neu anzugeben. Dies erleichtert die Administration von Verbindungsparametern und macht die Konfiguration von Anwendungen einfacher. Voraussetzung: Der Client nutzt die PostgreSQL-Client-Library libpq; die Standard-PostgreSQL-Client-Software psql ist ein Beispiel dafür.
Der Standard-Pfad und Name für diese Datei ist ~/.pg_service.conf. Alternativ kann ein anderer Pfad über die Umgebungsvariable $PGSERVICEFILE spezifiziert werden.
Beispiel:
Anmeldung an eine Datenbank mit Hilfe von „Services"
Beispiel 1:
Beispiel 2:
Beispiel 3:
Wenn man die Service-Definition „PG16“, die in unserem Beispiel nur den Host und den Port umfasst, um die weiteren notwendigen Informationen ergänzen will, dann müssen die Parameter insgesamt in einfache Anführungszeichen gefasst werden.
Beispiel 4:
Über die Umgebungsvariable PGSERVICE kann man gezielt eine Service-Konfiguration auswählen, sodass sich eine Anwendung ohne weitere Angaben direkt zu der gewählten Datenbank verbindet:
Verbergen des Passworts
In unserem Beispiel wird beim Service „scottdbpw“ das Passwort des Benutzers „scott“ in der pg_service.conf abgelegt, um so eine passwortlose Anmeldung an den Cluster zu ermöglichen. Mittels „chmod 600 .pg_service.conf“ kann man den Zugriff auf den jeweiligen Eigentümer beschränken. Alternativ kann die normale Password-Datei .pgpass verwendet werden. Aus der .pg_service.conf kann man dann mit dem Parameter „passfile“ auf die Password-Datei verweisen:
Die Vorteile von .pg_service.conf:
1. Wiederverwendbarkeit: Durch die Verwendung von .pg_service.conf können Sie Verbindungskonfigurationen für verschiedene Projekte wiederverwenden, ohne die Parameter jedes Mal neu eingeben zu müssen.
2. Portabilität: Die zentrale Verwaltung von Verbindungsparametern erleichtert die Portabilität von Anwendungen zwischen verschiedenen Umgebungen.
3. Sicherheit: Verbindungsparameter können geschützt in der .pg_service.conf-Datei oder der .pgpass-Datei gespeichert werden, um sensible Informationen zu schützen.
Fazit
Das .pg_service.conf-Dateiformat bietet eine effiziente Möglichkeit, PostgreSQL-Verbindungsparameter zu organisieren und zu verwalten. Durch die Nutzung dieses Features wird die Konfiguration von Anwendungen vereinfacht und die Wiederverwendbarkeit von Verbindungsparametern verbessert, was zu einer effizienteren und sichereren PostgreSQL-Nutzung führt.
Weitere Informationen zu PostgreSQL erfahren Sie in unserem Seminar „PostgreSQL-Administration“.
Seminarempfehlung
POSTGRESQL ADMINISTRATION DB-PG-01
Zum Seminar