PostgreSQL ist ein leistungsfähiges und flexibles Open-Source-Datenbankmanagementsystem. Es verfügt über umfangreiche Funktionen und ist bei Entwicklern und Systemadministratoren sehr beliebt. In diesem Artikel erfahren Sie, wie Sie den Remote-Zugriff auf PostgreSQL konfigurieren, um die Datenbank von einem entfernten Standort aus verwalten zu können.
Der Remotezugriff ermöglicht die Arbeit mit der Datenbank von jedem Computer oder Gerät aus, was besonders für die Teamarbeit sehr praktisch ist und bei Bedarf Probleme lösen oder Aufgaben aus der Ferne ausführen kann. Aus Sicherheitsgründen ist der PostgreSQL-Server jedoch standardmäßig so konfiguriert, dass er nur lokale Verbindungen akzeptiert.
Um den Remotezugriff zu konfigurieren, müssen Sie die entsprechenden Änderungen an der Konfigurationsdatei des PostgreSQL-Servers vornehmen. Zuerst müssen Sie die Datei bearbeiten postgresql.conf enthält die grundlegenden Servereinstellungen. Suchen Sie die Zeile #listen_addresses = 'localhost' und kommentieren Sie es, indem Sie das Symbol entfernen #. Dann ersetzen 'localhost' auf '*' damit der Server Verbindungen von allen IP-Adressen akzeptiert. Sie können auch bestimmte IP-Adressen oder Subnetze angeben, von denen Verbindungen zulässig sind. Denken Sie nach der Änderung daran, die Datei zu speichern und den PostgreSQL-Server neu zu starten.
Seien Sie vorsichtig beim Konfigurieren des Remote-Zugriffs auf PostgreSQL, da dies zu Sicherheitsrisiken für das System führen kann. Es wird empfohlen, starke Kennwörter zu verwenden und Verschlüsselungsmechanismen anzuwenden und den Zugriff auf die erforderlichen IP-Adressen zu beschränken.
Wie konfiguriere ich den Remote-Zugriff auf PostgreSQL
Schritt 1: Ändern der PostgreSQL-Konfiguration
Der erste Schritt besteht darin, die PostgreSQL-Konfiguration zu ändern, um den Remotezugriff zuzulassen. Öffnen Sie dazu die postgresql-Datei.conf , das sich im PostgreSQL-Installationsverzeichnis befindet.
In einer postgresql-Datei.conf Suchen Sie nach der Zeile #listen_addresses = 'localhost' und deaktivieren Sie sie, indem Sie das Zeichen # am Anfang der Zeile entfernen. Ersetzen Sie dann 'localhost' durch '*' , um Verbindungen von allen IP-Adressen zuzulassen. Speichern Sie die Änderungen in der Datei.
Nachdem Sie Änderungen an der postgresql-Datei vorgenommen haben.conf Sie müssen den PostgreSQL-Dienst neu starten, damit die Änderungen wirksam werden.
Schritt 2: Fügen Sie der pg_hba-Datei Regeln hinzu.conf
Um den Remotezugriff auf PostgreSQL zu ermöglichen, müssen Sie der Datei pg_hba Regeln hinzufügen.conf . Öffnen Sie die Datei pg_hba.conf , das sich im selben Verzeichnis wie postgresql befindet.conf .
In der Datei pg_hba.finden Sie den Abschnitt, der mit dem Kommentar # IPv4-style local connections beginnt . Fügen Sie in diesem Abschnitt die folgende Regel hinzu:
| Host | Database | User | Address | Method |
|---|---|---|---|---|
| * | all | your_username | 0.0.0.0/0 | md5 |
Ersetzen Sie your_username durch Ihren PostgreSQL-Benutzernamen. Speichern Sie die Änderungen in der Datei pg_hba.conf .
Schritt 3: Konfigurieren der Firewall
Um Remoteverbindungen zu PostgreSQL zu ermöglichen, müssen Sie eine Firewall auf dem Server konfigurieren, auf dem PostgreSQL installiert ist. Öffnen Sie die Firewall-Einstellungen und fügen Sie eine Regel hinzu, die eingehende Verbindungen am von PostgreSQL verwendeten Port 5432 zulässt.
Stellen Sie sicher, dass Sie den Zugriff nur für die richtigen IP-Adressen oder Subnetze zulassen, um die Sicherheit zu erhöhen.
Schritt 4: Überprüfen der Verbindung
Nachdem Sie alle Einstellungen vorgenommen haben, können Sie den Remote-Zugriff auf PostgreSQL überprüfen. Verwenden Sie dazu ein beliebiges PostgreSQL-Tool, z. B. die psql-Befehlszeile oder Grafikclients.
Geben Sie die IP-Adresse oder den PostgreSQL-Servernamen, den Benutzernamen und das Passwort ein, um die Verbindung herzustellen. Wenn die Verbindung erfolgreich hergestellt wurde, können Sie mit der PostgreSQL-Datenbank von einem Remote-Server oder Computer aus arbeiten.
Jetzt wissen Sie, wie Sie den Remote-Zugriff auf PostgreSQL einrichten. Beachten Sie, dass der Remotezugriff auf die Datenbank mit Sicherheit konfiguriert werden muss, um den unbefugten Zugriff auf die Daten zu verhindern.
Vorbereiten des Servers und des Clients
Bevor Sie mit der Einrichtung des Remote-Zugriffs auf PostgreSQL beginnen, müssen Sie einige vorläufige Schritte sowohl auf dem Server als auch auf dem Client ausführen. In diesem Abschnitt erfahren Sie, wie Sie den Server und den Client für die Konfiguration des Remotezugriffs vorbereiten.
1. Server einrichten
Stellen Sie zunächst sicher, dass der PostgreSQL-Server auf der Maschine installiert und ausgeführt wird, auf die Sie zugreifen möchten. Wenn der Server noch nicht installiert ist, müssen Sie die Installation gemäß den Anweisungen Ihres Betriebssystems durchführen.
Überprüfen Sie nach der Installation des Servers, ob der PostgreSQL-Dienst ausgeführt wird. Sie können den folgenden Befehl an der Eingabeaufforderung ausführen:
sudo service postgresql status
Wenn der Dienst ausgeführt wird, wird eine Meldung angezeigt, die angibt, dass der Server ausgeführt wird. Wenn der Dienst nicht ausgeführt wird, verwenden Sie den Befehl:
sudo service postgresql start
2. Konfigurieren des Clients
Um remote auf den PostgreSQL-Server zugreifen zu können, müssen Sie die Clientsoftware auf dem Rechner installieren, mit dem Sie eine Verbindung herstellen möchten. Installieren Sie die PostgreSQL-Clientbibliothek oder -software, die Ihrem Betriebssystem entspricht.
Stellen Sie nach der Installation der Clientsoftware sicher, dass Sie über die erforderlichen Berechtigungen zum Herstellen einer Remoteverbindung verfügen. Konfigurieren Sie bei Bedarf die Firewall auf dem Server und dem Client, um eingehende und ausgehende Verbindungen zu dem von PostgreSQL verwendeten Port zuzulassen (standardmäßig ist dies Port 5432).
Beachten Sie auch, dass für den Remotezugriff auf PostgreSQL möglicherweise zusätzliche Konfiguration in der Konfigurationsdatei auf dem Server erforderlich ist. Anweisungen zum Konfigurieren des Remotezugriffs finden Sie normalerweise in der PostgreSQL-Dokumentation oder in der Konfiguration mit dem Dienstprogramm pg_hba.conf.
Fertig! Der Server und der Client sind jetzt für die Konfiguration des Remote-Zugriffs auf PostgreSQL vorbereitet. Im nächsten Abschnitt werden wir diesen Prozess genauer betrachten.
Konfigurieren der Firewall
Um den Remote-Zugriff auf PostgreSQL zu sichern, müssen Sie die Firewall so konfigurieren, dass eingehende Verbindungen an den gewünschten Port zugelassen werden.
Stellen Sie zunächst sicher, dass Ihre Firewall eingehende Verbindungen zu dem Port zulässt, der für den Zugriff auf PostgreSQL verwendet wird. Standardmäßig verwendet PostgreSQL Port 5432. Wenn Sie sich nicht sicher sind, überprüfen Sie den Port, der in der PostgreSQL-Konfigurationsdatei angegeben ist (normalerweise postgresql.conf).
Eine der häufigsten Firewalls auf Linux-Betriebssystemen ist iptables. Führen Sie die folgenden Befehle aus, um die Firewall mit iptables zu konfigurieren:
iptables -A INPUT -p tcp --dport 5432 -j ACCEPTiptables-save > /etc/sysconfig/iptables
Danach werden eingehende Verbindungen zu Port 5432 zugelassen, sodass Remote-Clients eine Verbindung zum PostgreSQL-Server herstellen können.
Wenn Sie eine andere Firewall verwenden, zum Beispiel, ufw oder firewalld finden Sie in der entsprechenden Softwaredokumentation nach, um die Auflösung eingehender Verbindungen für den gewünschten Anschluss zu konfigurieren.
PostgreSQL-Konfiguration
Um den Remote-Zugriff auf PostgreSQL zu konfigurieren, müssen mehrere Parameter in der PostgreSQL-Konfigurationsdatei geändert werden: postgresql.conf.
1. Öffnen Sie die postgresql-Datei.conf mit einem Texteditor. Es befindet sich normalerweise im Verzeichnis /etc/postgresql/Version-PostgreSQL/main
2. Suchen Sie den Parameter listen_addresses, und deaktivieren Sie ihn, indem Sie das "#" -Zeichen am Anfang der Zeile entfernen. Geben Sie eine IP-Adresse oder ein "*" -Zeichen ein, um Verbindungen von allen verfügbaren Schnittstellen zuzulassen:
listen_addresses = '192.168.0.1'
listen_addresses = '*'
3. Suchen Sie den Port-Parameter und geben Sie den Port an, über den die PostgreSQL-Verbindung hergestellt werden soll. Normalerweise ist der Standardport 5432 eingestellt:
port = 5432
4. Suchen Sie den Parameter max_connections, und geben Sie die maximale Anzahl zulässiger PostgreSQL-Verbindungen an. Es wird empfohlen, je nach erwarteter Belastung einen Wert von 100 oder mehr festzulegen:
max_connections = 100
5. Speichern Sie die postgresql-Datei.conf.
6. Starten Sie den PostgreSQL-Dienst neu, um die vorgenommenen Änderungen zu übernehmen.
Nach Abschluss dieser Schritte wird der Remote-Zugriff auf PostgreSQL konfiguriert und Sie können sich von einem Remotecomputer oder Server aus mit der Datenbank verbinden.