Zum Hauptinhalt springen

PostgreSQL in 5 Minuten bereitstellen

Diese Anleitung begleitet Sie bei der Erstellung Ihres ersten PostgreSQL-Clusters in der Hikube-Konsole bis zur ersten Verbindung mit psql.


Ziele​

Am Ende dieser Anleitung verfügen Sie über:

  • Einen PostgreSQL-Cluster, der in Ihrem Hikube-Projekt bereitgestellt ist
  • Eine Anwendungsdatenbank und einen Benutzer, um sich damit zu verbinden
  • Ein von der Plattform generiertes Passwort
  • Eine funktionierende Verbindung mit psql

Voraussetzungen​

  • Ein Hikube-Konto und ein Projekt mit ausreichenden Quotas (CPU, Arbeitsspeicher, Speicher)
  • Den Client psql auf Ihrem Rechner, falls Sie eine Verbindung aus dem Internet testen möchten

Schritt 1: Den Cluster erstellen​

  1. Melden Sie sich in der Hikube-Konsole an und wählen Sie Ihr Projekt aus.
  2. Öffnen Sie im Seitenmenü DB & Messaging → PostgreSQL. Die Seite PostgreSQL Clusters wird angezeigt.
  3. Klicken Sie auf Create a cluster. Der Assistent Create a PostgreSQL cluster öffnet sich.

Schritt 2: Konfigurieren und bestätigen​

Der Assistent umfasst sechs Schritte: General, Configuration, Databases, Users, Summary und Finish. Mit Next und Previous wechseln Sie zwischen ihnen.

General​

Geben Sie den Cluster Name ein (standardmäßig wird ein zufälliger Name vorgeschlagen), zum Beispiel demo-pg. Er muss 3 bis 16 Zeichen lang sein (Kleinbuchstaben, Ziffern und Bindestriche), mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden.

Configuration​

FeldEmpfohlener Wert für diese AnleitungHinweis
PostgreSQL Version18Angebotene Versionen: 15, 16, 17, 18
Instance presets1.small — 1 CPU / 2GiKein Preset ist vorausgewählt; Kapazität, die jedem Knoten zugewiesen wird
Disk size (GB)10Speicherkapazität pro Knoten
Number of replicas1 (Standalone)2 oder 3 für Hochverfügbarkeit
External accessAktiviertErforderlich, um sich von Ihrem Rechner aus zu verbinden

PostgreSQL-Assistent, Schritt Configuration

Das Banner oben im Assistenten zeigt die Estimated cost und die Auswirkung auf die Quotas des Projekts an.

Warnung

Die Number of replicas kann nach der Erstellung nicht mehr geändert werden. Wählen Sie für die Produktion direkt 2 (High Availability) oder 3 (Max High Availability).

Hinweis

Aktivieren Sie den External access nur, wenn Sie ihn benötigen: Er macht die Datenbank im öffentlichen Internet verfügbar.

Databases​

Geben Sie einen Database name ein, zum Beispiel myapp (1 bis 54 Zeichen: Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche; beginnt mit einem Buchstaben oder einem Unterstrich, aber nicht mit pg_), und klicken Sie dann auf Add.

Fügen Sie mindestens eine Anwendungsdatenbank hinzu: Die immer erstellte Datenbank postgres ist eine Systemdatenbank, die der Plattform vorbehalten ist, und Ihre Benutzer können auf ihr kein Recht erhalten.

Users​

Fügen Sie mindestens einen Benutzer hinzu:

  1. Username: zum Beispiel app_user (nur Kleinbuchstaben, Ziffern und Unterstriche, kein Bindestrich).
  2. Database name: Wählen Sie myapp aus. Die Liste bietet nur die im Schritt Databases hinzugefügten Datenbanken an. Ohne Anwendungsdatenbank zeigt sie „No application database“ an, und der Benutzer wird ohne Recht erstellt.
  3. Rights: Administrator (Admin) oder Read-only.
  4. Klicken Sie auf Add.

Summary​

Prüfen Sie die Zusammenfassung (Version, Instance preset, Data volume, Replicas, External exposure, Databases to create, Users to create, Estimated cost) und klicken Sie dann auf Create cluster.


Schritt 3: Status prüfen​

Der Schritt Finish bestätigt die Erstellung („Creation complete!“). Klicken Sie auf Finish, um die Seite des Clusters zu öffnen.

Der Status des Clusters wird neben seinem Namen angezeigt, sowohl auf der Seite des Clusters als auch in der Liste PostgreSQL Clusters:

StatusBedeutung
Creating / ProvisioningDer Cluster wird bereitgestellt
ReadyDer Cluster ist betriebsbereit
ErrorDie Plattform konnte die Erstellung oder die letzte Änderung des Clusters nicht anwenden

Erwartetes Ergebnis: Nach einigen Minuten wechselt der Status zu Ready. Die Seite des Clusters zeigt die PostgreSQL Version, die Replicas, die Allocated Size und den External Access (Enabled) an.


Schritt 4: Zugangsdaten abrufen​

Die Passwörter werden nur ein einziges Mal angezeigt, im Schritt Finish des Assistenten, im Abschnitt User Credentials:

  • Password jedes erstellten Benutzers;
  • Internal Connection String: die Adresse des Clusters, wenn der externe Zugriff aktiviert ist.

Lehnt die Plattform einen Benutzer ab, zeigt der Schritt anstelle seines Passworts „User not created“ und den Grund an.

PostgreSQL-Assistent, Schritt Finish: Benutzer-Zugangsdaten (Passwort verdeckt)

Warnung

Kopieren Sie diese Passwörter in einen Passwort-Manager, bevor Sie den Bildschirm verlassen: Sie werden nicht mehr angezeigt. Bei Verlust generieren Sie in der Registerkarte Users ein neues (Actions → Change Password).

Die Karte Connection and Databases auf der Seite des Clusters zeigt die Adressen des Clusters in zwei Bereichen an, jeweils mit einer Kopierschaltfläche:

  • Internal, From the project's resources only: der interne Host, immer vorhanden, und der Port (5432). Er ist von den VMs und Kubernetes-Clustern desselben Projekts aus erreichbar, ohne externen Zugriff;
  • External, From the Internet: die öffentliche Adresse, wenn der External Access aktiviert ist.

Schritt 5: Verbindung und Tests​

Von Ihrem Rechner aus verbinden Sie sich mit psql über die Adresse aus dem Bereich External:

psql "host=<host> port=5432 dbname=myapp user=app_user sslmode=require"

Von einer VM oder einem Kubernetes-Cluster des Projekts aus verwenden Sie den Host aus dem Bereich Internal: psql "host=<internal-host> port=5432 dbname=myapp user=app_user".

Geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden, und prüfen Sie dann die Verbindung:

SELECT version();
CREATE TABLE test (id serial PRIMARY KEY, message text);
INSERT INTO test (message) VALUES ('Bonjour Hikube');
SELECT * FROM test;

Erwartetes Ergebnis:

id | message
----+----------------
1 | Bonjour Hikube
(1 row)

Schritt 6: Schnelle Fehlerbehebung​

Der Bereich External zeigt „Disabled“ oder „Waiting for allocation…“ an​

„Disabled“: Der External Access ist ausgeschaltet. Aktivieren Sie ihn über Edit, wenn Sie sich aus dem Internet verbinden müssen; aus dem Projekt verwenden Sie den Host aus dem Bereich Internal. „Waiting for allocation…“: Die öffentliche Adresse ist noch nicht zugewiesen, warten Sie einige Augenblicke.

Der interne Host wird von einer VM aus nicht aufgelöst​

Kopieren Sie den vollständigen Namen aus dem Bereich Internal, ohne ihn zu kürzen. Unter Debian 13 wird der Name ohne Konfiguration nicht aufgelöst: siehe Einen verwalteten Dienst des Projekts erreichen.

Die Schaltfläche Next bleibt inaktiv​

  • Im Schritt Configuration: Der Cluster überschreitet die Quotas des Projekts. Verringern Sie das Preset, die Disk-Größe oder die Anzahl der Replicas.
  • Im Schritt Users: Fügen Sie mindestens einen Benutzer hinzu.

Authentifizierung abgelehnt​

Prüfen Sie den Benutzernamen, die Zieldatenbank und das Passwort. Wenn das Passwort verloren gegangen ist, führen Sie in der Registerkarte Users eine Rotation durch. Siehe Benutzer und Datenbanken verwalten.

Der Cluster wechselt in den Status Error​

Die Plattform konnte die Erstellung oder die letzte Änderung des Clusters nicht anwenden. Wenden Sie sich an den Support und geben Sie dabei den Namen des Projekts und des Clusters an.


Schritt 7: Bereinigung​

  1. Öffnen Sie die Seite des Clusters (DB & Messaging → PostgreSQL → Name des Clusters).
  2. Klicken Sie auf Delete cluster.
  3. Geben Sie den exakten Namen des Clusters in das Feld Resource name to confirm ein und klicken Sie dann auf Permanently delete.
Warnung

Diese Aktion löscht den PostgreSQL-Cluster und alle zugehörigen Daten. Sie ist unwiderruflich.


Zusammenfassung​

Sie haben in der Konsole Folgendes erstellt:

  • Einen PostgreSQL-Cluster in Ihrem Projekt
  • Eine Datenbank und einen Benutzer mit seinen Rechten
  • Einen externen Zugriff und eine psql-Verbindung