Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zur Registrierung für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Ersetzen Sie diese Werte nach Abschluss der Übung durch Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Stellen Sie mit PostgreSQL eine Verbindung zu Oracle Cloud Infrastructure Database her, indem Sie DBeaver verwenden
Einführung
In diesem Tutorial erfahren Sie, wie Sie mit einem Datenbankadministrationstool wie DBeaver eine Verbindung zu einer Oracle Cloud Infrastructure Database mit PostgreSQL herstellen.
DBeaver ist ein kostenloses Open-Source-Datenbankverwaltungstool, das die Effizienz von PostgreSQL-Datenbankadministratoren (DBAs) erheblich verbessert, indem es eine benutzerfreundliche Schnittstelle für die Datenbankadministration, -entwicklung und -datenanalyse bereitstellt. Jedes andere Werkzeug kann auch in Betracht gezogen werden.
Dieses Tutorial zeigt, wie Sie eine OCI-Datenbank mit PostgreSQL innerhalb eines privaten Subnetzes bereitstellen. Außerdem stellen wir in der zweiten und dritten Aufgabe eine Compute-Instanz bereit, die als Bastionhost im selben virtuellen Cloud-Netzwerk (VCN) fungiert, sodass der Zugriff auf die Datenbank PostgreSQL über ein Datenbankadministrationstool wie DBeaver möglich ist.
Das folgende Schema zeigt den Ansatz.
Ziele
-
Erstellen Sie eine PostgreSQL-Datenbankinstanz in einem privaten Subnetz.
-
Erstellen Sie eine Oracle Cloud Infrastructure-(OCI-)Compute-Instanz, um mit demselben VCN eine Verbindung zu PostgreSQL in einem öffentlichen Subnetz herzustellen. Fügen Sie Port
5432
zur Sicherheitsliste des privaten Subnetzes hinzu. -
Melden Sie sich mit DBeaver an.
Voraussetzungen
- Zugriff auf einen OCI-Mandanten mit Berechtigungen zum Erstellen von Datenbanken und Compute-Instanzen.
Aufgabe 1: PostgreSQL-Datenbankinstanz in einem privaten Subnetz erstellen
Sie können mehrere Methoden verwenden, um eine PostgreSQL-Datenbankinstanz wie OCI-Konsole, CLI und API zu erstellen. Weitere Informationen finden Sie unter Datenbanksystem erstellen.
In dieser Aufgabe erstellen wir mit der OCI-Konsole ein verwaltetes PostgreSQL-Datenbanksystem.
-
Melden Sie sich bei der OCI-Konsole an, navigieren Sie zu Datenbanken, PostgreSQL, und klicken Sie auf DB-Systeme.
-
Klicken Sie auf Datenbanksystem PostgreSQL erstellen.
-
Wählen Sie auf der Seite Datenbanksystem PostgreSQL erstellen die Option Neues Datenbanksystem erstellen aus, und klicken Sie auf Weiter.
-
Geben Sie im Abschnitt Datenbanksystemkonfiguration die folgenden Informationen ein.
-
Datenbanksystemname: Geben Sie einen Namen für das Datenbanksystem ein.
-
Beschreibung (Optional): Geben Sie eine Beschreibung für das Datenbanksystem ein.
-
PostgreSQL-Hauptversion: Wählen Sie eine Hauptversion der PostgreSQL-Datenbank aus. Der einzige zulässige Wert ist 14.
-
-
Geben Sie im Abschnitt Datenbanksystem einen Wert für Knotenanzahl ein. Ein primärer Knoten ist erforderlich. Zusätzliche Knoten werden als Lesereplikatknoten reserviert.
-
Wählen Sie Performance-Tier für die Datenbank aus. Weitere Informationen finden Sie unter Leistungsstufen.
-
Wählen Sie Datenplatzierung aus.
- Regional: Daten werden dauerhaft in mehreren Availability-Domains in der Region gespeichert.
- Spezifisch für Availability-Domain: Daten werden dauerhaft in der ausgewählten Availability-Domain gespeichert.
-
Geben Sie im Abschnitt Hardwarekonfiguration die folgenden Informationen ein.
-
OCPU-Anzahl: Wählen Sie die Anzahl der OCPUs pro Knoten aus.
-
Verfügbare Ausprägungen: Wählen Sie die Ausprägung der Datenbankknoten aus.
-
-
Geben Sie im Abschnitt Netzwerkkonfiguration die folgenden Informationen ein.
-
Virtuelles Cloud-Netzwerk: Wählen Sie das VCN aus, in dem Sie die Datenbank erstellen möchten. Wenn Sie ein VCN erstellen müssen, klicken Sie auf VCN erstellen. Weitere Informationen finden Sie unter VCN- und Subnetzverwaltung.
-
Subnetz: Wählen Sie das private Subnetz des ausgewählten VCN aus.
-
Private IP-Adresse: Eine private IP-Adresse im Subnetz für die Datenbankinstanz. Der Wert ist optional. Wenn keine IP-Adresse angegeben wird, wird eine von den verfügbaren IP-Adressen im angegebenen Subnetz ausgewählt.
-
-
Geben Sie im Abschnitt Zugangsdaten des Datenbanksystems die Zugangsdaten für die Datenbank ein. Administratoren erhalten keinen Superuser-Zugriff. Eine OCI-Datenbank mit dem Admin-Benutzer PostgreSQL kann Benutzer und Rollen erstellen.
-
Benutzername: Geben Sie den Benutzernamen des Administrators an. Dieser Wert kann nach der Erstellung des Datenbanksystems nicht mehr geändert werden.
-
Kennwortoptionen: Wählen Sie eine der folgenden Optionen.
-
Kennwort eingeben:
-
Kennwort: Geben Sie das Administratorpasswort ein.
-
Kennwort bestätigen: Bestätigen Sie das Kennwort des Administrators.
-
-
OCI Vault verwenden:
-
Vault: Wählen Sie den Vault aus, der das Administratorkennwort enthält.
-
Secret: Wählen Sie das Secret mit dem Administratorkennwort aus.
-
Secret-Version: Wählen Sie eine Secret-Version aus.
-
-
-
-
Klicken Sie nach der Konfiguration des Datenbanksystems auf Weiter.
-
Prüfen Sie die Konfiguration des Datenbanksystems, und klicken Sie auf Weiterleiten.
-
Öffnen Sie nach der erfolgreichen Erstellung die Seite mit den allgemeinen Informationen für das Datenbanksystem.
Aufgabe 2: OCI-Compute-Instanz für die Verbindung mit PostgreSQL erstellen
Die PostgreSQL-Datenbank wird in einem privaten Netzwerk bereitgestellt. Wir erstellen eine Instanz mit einer öffentlichen IP-Adresse und erteilen ihr Zugriff auf PostgreSQL. Diese neu erstellte Instanz dient als Einstiegspunkt für die Datenbank PostgreSQL.
-
Gehen Sie zur OCI-Konsole, und navigieren Sie zu Compute und Instanzen.
-
Wählen Sie ein öffentliches Subnetz in demselben VCN aus, in dem Sie die OCI-Datenbankinstanz PostgreSQL bereitgestellt haben.
-
Stellen Sie eine SSH-Verbindung zur Instanz her, und führen Sie die folgenden Befehle aus. Dadurch wird der Client für PostgreSQL Version 14 installiert.
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo dnf -qy module disable postgresql sudo dnf install -y postgresql14-server sudo /usr/pgsql-14/bin/postgresql-14-setup initdb sudo systemctl enable postgresql-14 sudo systemctl start postgresql-14
rm -rf ~/.pgpass
-
Gehen Sie zur Überblickseite für OCI PostgreSQL, klicken Sie im CA-Zertifikat auf Kopieren, oder laden Sie das Zertifikat herunter, und führen Sie den folgenden Befehl im Terminal aus.
sudo nano ./dbsystem.pub
Kopieren Sie das vollständige Zertifikat, und fügen Sie es in die Datei
dbsystem.pub
ein. Speichern und schließen Sie die Datei. -
Testen Sie die Verbindung mit dem folgenden Befehl.
psql -h [DB Private IP] -U [user name] -d postgres
Beispiel:
psql -h 10.0.1.165 -U admin -d postgres
-
Führen Sie die Anweisung als Test aus, um die Verbindung zu prüfen.
SELECT VERSION();
-
Führen Sie die folgende Anweisung aus, um sich als Benutzer anzumelden.
psql "sslmode=verify-full sslrootcert=./dbsystem.pub host=<endpoint_fqdn> hostaddr=[DB private IP] dbname=postgres user=<user_name>"
Beispiel:
psql "sslmode=verify-full sslrootcert=dbsystem.pub host= yfya3utrulnsbuzniy7545tsnwvuzq-primary.postgresql.eu-madrid-1.oc1.oraclecloud.com hostaddr=10.0.1.165 dbname=postgres user=admin"
-
Führen Sie die folgende Anweisung aus, um zu testen, ob die Verbindung funktioniert.
SELECT VERSION();
Aufgabe 3: Verbindung mit DBeaver herstellen
In dieser Aufgabe installieren wir DBeaver und stellen eine Verbindung zu PostgreSQL her.
-
Laden Sie DBeaver herunter, und installieren Sie es von hier: DBeaver Community.
-
Fügen Sie die Zugangsdaten hinzu, um mit PostgreSQL eine Verbindung zur OCI-Datenbank herzustellen.
-
Geben Sie die IP-Adresse der virtuellen Maschine (VM) und den Port 22 ein. DBeaver verwendet dieselbe VM-Instanz im öffentlichen Subnetz mit SSH für den Zugriff auf die OCI-Datenbank mit der Datenbank PostgreSQL.
-
(Optional) Führen Sie die folgende Anweisung aus, um eine Tabelle zu erstellen und Daten mit DBeaver zu laden.
DROP TABLE cars; CREATE TABLE cars ( brand VARCHAR(255), model VARCHAR(255), year INT ); INSERT INTO cars (brand, model, year) VALUES ('Toyota', 'Camry', 2023), ('Honda', 'Accord', 2022), ('Ford', 'Mustang', 2024), ('Chevrolet', 'Corvette', 2023), ('BMW', '3 Series', 2021), ('Mercedes-Benz', 'C-Class', 2022), ('Volkswagen', 'Golf', 2023), ('Audi', 'A4', 2024); COMMIT; SELECT * FROM cars;
Überblick über die erstellte Tabelle.
Verwandte Links
Danksagungen
- Autoren – Ismael Hassane (Senior Solution Architect, Data Platform), Jevon Rowan (Principal Cloud Solution Engineer, Open Source Data Services Specialist)
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie im Oracle Learning YouTube-Channel auf weitere kostenlose Lerninhalte zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Die Produktdokumentation finden Sie im Oracle Help Center.
Connect to Oracle Cloud Infrastructure Database with PostgreSQL using DBeaver
G15172-01
September 2024