Standardmäßig können nur Clients, die auf demselben Computer wie das PostgreSQL-Datenbank-Cluster ausgeführt werden, eine Verbindung dazu herstellen. Ändern Sie die Konfigurationsdatei "pg_hba.conf" so, dass Remote-Clients eine Verbindung mit dem Datenbank-Cluster herstellen können.
Befolgen Sie die Anweisungen des Betriebssystems, auf dem PostgreSQL installiert ist.
PostgreSQL ist auf einem Linux-Server installiert
- Erstellen Sie eine Sicherungskopie der Datei "pg_hba.conf", bevor Sie diese ändern.
- Wenn der Postmaster-Prozess von PostgreSQL bereits ausgeführt wird, beenden Sie diesen mit dem Befehl "pg_ctl stop".
- Öffnen Sie die Datei "pg_hba.conf" in einem Texteditor.
- Fügen Sie die IP-Adressen der Clientcomputer, zu denen eine Verbindung hergestellt werden soll, und die für die Verbindungen verwendeten Authentifizierungsmethoden der Clients hinzu.
Beispiel: Damit jeder Benutzer, der über ein gültiges Kennwort verfügt, von Adressen, die mit "10.2.12" beginnen und die Authentifizierungsmethode "md5" verwenden, eine Verbindung mit der Datenbank "habitat" herstellen kann, fügen Sie der Datei "pg_hba.conf" die folgende Zeile hinzu:
host habitat all 10.2.12.0/24 md5
Wenn Sie möchten, dass alle Benutzer, die ein gültiges Kennwort angeben, von Adressen, die mit "100" beginnen, eine Verbindung mit allen Datenbanken in der PostgreSQL-Instanz herstellen können, fügen Sie der Datei "pg_hba.conf" die folgende oder eine ähnliche Zeile hinzu:
host all all 100.0.0.0/8 md5
Die vorangehenden Beispiele beziehen sich auf IPv4-Adressen. Wenn Sie das Datenbank-Cluster so konfigurieren möchten, dass Verbindungen von Computern mit einer IPv6-Adresse zugelassen werden, müssen Sie das folgende Format verwenden:
host all all fe60::61f9:1253:c522:9b92%10/128 md5
Damit alle Computer, deren Adresse mit "fe60" beginnt, eine Verbindung herstellen können, fügen Sie der Datei "pg_hba.conf" die folgende Zeile hinzu:
host all all fe60::0000:0000:0000:0000%10/8 md5
Wenn das PostgreSQL-Datenbank-Cluster auf einem Computer eingerichtet wird, der eine IPv6-Adresse verwendet, und über Computer mit einer IPv4-Adresse eine Verbindung zu diesem hergestellt werden soll, müssen Sie die folgende Zeile in der Datei "pg_hba.conf" auskommentieren:
host all all ::1/128 md5
- Speichern und schließen Sie die Datei "pg_hba.conf".
- Verwenden Sie "pg_ctl", um den Postmaster-Prozess von PostgreSQL zu starten (oder neu zu starten).
PostgreSQL ist auf einem Windows-Server installiert
Sie können die Datei "pg_hba.conf" direkt in einem Text-Editor oder durch PgAdminIII ändern.
- Erstellen Sie eine Sicherungskopie der Datei "pg_hba.conf", bevor Sie diese ändern.
- Öffnen Sie die Datei "pg_hba.conf", indem Sie einen der folgenden Schritte ausführen:
- Starten Sie PgAdminIII, stellen Sie als Superuser "postgres" eine Verbindung zur PostgreSQL-Instanz her, stellen Sie eine Verbindung zur Datenbank her, klicken Sie auf Werkzeuge, zeigen Sie auf Serverkonfiguration, und klicken Sie dann auf pg_hba.conf.
- Starten Sie den Editor von Windows oder einen anderen Texteditor, und öffnen Sie die Datei "pg_hba.conf" im PostgreSQL-Installationsverzeichnis.
- Fügen Sie die IP-Adressen der Clientcomputer, zu denen eine Verbindung hergestellt werden soll, und die für die Verbindungen verwendeten Authentifizierungsmethoden der Clients hinzu.
Beispiel: Damit jeder Benutzer, der über ein gültiges Kennwort verfügt, von Adressen, die mit "10.2.12" beginnen und die Authentifizierungsmethode "md5" verwenden, eine Verbindung mit der Datenbank "habitat" herstellen kann, fügen Sie der Datei "pg_hba.conf" die folgende Zeile hinzu:
host habitat all 10.2.12.0/24 md5
Wenn Sie möchten, dass alle Benutzer, die ein gültiges Kennwort angeben, von Adressen, die mit "100" beginnen, eine Verbindung mit allen Datenbanken in der PostgreSQL-Instanz herstellen können, fügen Sie der Datei "pg_hba.conf" die folgende oder eine ähnliche Zeile hinzu:
host all all 100.0.0.0/8 md5
Die vorangehenden Beispiele beziehen sich auf IPv4-Adressen. Wenn Sie das Datenbank-Cluster so konfigurieren möchten, dass Verbindungen von Computern mit einer IPv6-Adresse zugelassen werden, müssen Sie das folgende Format verwenden:
host all all fe60::61f9:1253:c522:9b92%10/128 md5
Damit alle Computer, deren Adresse mit "fe60" beginnt, eine Verbindung herstellen können, fügen Sie der Datei "pg_hba.conf" die folgende Zeile hinzu:
host all all fe60::0000:0000:0000:0000%10/8 md5
Wenn das PostgreSQL-Datenbank-Cluster auf einem Computer eingerichtet wird, der eine IPv6-Adresse verwendet, und über Computer mit einer IPv4-Adresse eine Verbindung zu diesem hergestellt werden soll, müssen Sie die folgende Zeile in der Datei "pg_hba.conf" auskommentieren:
host all all ::1/128 md5
- Speichern Sie die Änderungen, die Sie an der Datei vorgenommen haben, und schließen Sie sie.