Datenbanken erstellen und verwalten

Diese Seite enthält Informationen zum Erstellen, Auflisten und Löschen von PostgreSQL-Datenbanken auf einer Cloud SQL-Instanz.

Eine neu erstellte Instanz hat eine postgres-Datenbank.

Weitere Informationen über PostgreSQL-Datenbanken finden Sie in der PostgreSQL-Dokumentation.

Vorbereitung

Bevor Sie die Aufgaben auf dieser Seite ausführen, müssen Sie:

  • Erstellen Sie eine Cloud SQL-Instanz. Weitere Informationen finden Sie unter Instanzen erstellen.

Wenn Sie den psql-Client verwenden möchten, um Datenbanken zu erstellen oder zu verwalten, müssen Sie:

  • Konfigurieren Sie den Zugriff auf die Instanz und stellen Sie mit einem psql-Client eine Verbindung zu dieser her. Weitere Informationen zu Verbindungsoptionen finden Sie unter Verbindungsoptionen für externe Anwendungen.

So erstellen Sie eine Datenbank in der Cloud SQL-Instanz:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  3. Wählen Sie im SQL-Navigationsmenü die Option Datenbanken aus.
  4. Klicken Sie auf Datenbank erstellen.
  5. Geben Sie im Dialogfeld Neue Datenbank den Namen der Datenbank ein.
  6. Klicken Sie auf Erstellen.

gcloud

Weitere Informationen finden Sie unter gcloud sql databases create.

gcloud sql databases create DATABASE_NAME \
--instance=INSTANCE_NAME

Terraform

Verwenden Sie zum Erstellen einer Datenbank eine Terraform-Ressource.

resource "google_sql_database" "database" {
  name     = "my-database"
  instance = google_sql_database_instance.instance.name
}

Änderungen anwenden

Führen Sie die Schritte in den folgenden Abschnitten aus, um Ihre Terraform-Konfiguration auf ein Google Cloud-Projekt anzuwenden.

Cloud Shell vorbereiten

  1. Rufen Sie Cloud Shell auf.
  2. Legen Sie das Google Cloud-Standardprojekt fest, auf das Sie Ihre Terraform-Konfigurationen anwenden möchten.

    Sie müssen diesen Befehl nur einmal pro Projekt und in jedem beliebigen Verzeichnis ausführen.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Umgebungsvariablen werden überschrieben, wenn Sie in der Terraform-Konfigurationsdatei explizite Werte festlegen.

Verzeichnis vorbereiten

Jede Terraform-Konfigurationsdatei muss ein eigenes Verzeichnis haben (auch als Stammmodul bezeichnet).

  1. Erstellen Sie in Cloud Shell ein Verzeichnis und eine neue Datei in diesem Verzeichnis. Der Dateiname muss die Erweiterung .tf haben, z. B. main.tf. In dieser Anleitung wird die Datei als main.tf bezeichnet.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Wenn Sie einer Anleitung folgen, können Sie den Beispielcode in jedem Abschnitt oder Schritt kopieren.

    Kopieren Sie den Beispielcode in das neu erstellte main.tf.

    Kopieren Sie optional den Code aus GitHub. Dies wird empfohlen, wenn das Terraform-Snippet Teil einer End-to-End-Lösung ist.

  3. Prüfen und ändern Sie die Beispielparameter, die auf Ihre Umgebung angewendet werden sollen.
  4. Speichern Sie die Änderungen.
  5. Initialisieren Sie Terraform. Dies ist nur einmal für jedes Verzeichnis erforderlich.
    terraform init

    Fügen Sie optional die Option -upgrade ein, um die neueste Google-Anbieterversion zu verwenden:

    terraform init -upgrade

Änderungen anwenden

  1. Prüfen Sie die Konfiguration und prüfen Sie, ob die Ressourcen, die Terraform erstellen oder aktualisieren wird, Ihren Erwartungen entsprechen:
    terraform plan

    Korrigieren Sie die Konfiguration nach Bedarf.

  2. Wenden Sie die Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie yes an der Eingabeaufforderung ein:
    terraform apply

    Warten Sie, bis Terraform die Meldung „Apply complete“ anzeigt.

  3. Öffnen Sie Ihr Google Cloud-Projekt, um die Ergebnisse aufzurufen. Rufen Sie in der Google Cloud Console Ihre Ressourcen in der Benutzeroberfläche auf, um sicherzustellen, dass Terraform sie erstellt oder aktualisiert hat.

Änderungen löschen

So löschen Sie das Projekt:

  1. Um den Löschschutz zu deaktivieren, setzen Sie in der Terraform-Konfigurationsdatei das Argument deletion_protection auf false.
    deletion_protection =  "false"
  2. Wenden Sie die aktualisierte Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie yes an der Eingabeaufforderung ein:
    terraform apply
  1. Entfernen Sie Ressourcen, die zuvor mit Ihrer Terraform-Konfiguration angewendet wurden, indem Sie den folgenden Befehl ausführen und yes an der Eingabeaufforderung eingeben:

    terraform destroy

REST Version 1

Die folgende Anfrage verwendet die Methode databases:insert, um eine neue Datenbank auf der angegebenen Instanz zu erstellen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID
  • database-name: der Name einer Datenbank in der Cloud SQL-Instanz

HTTP-Methode und URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases

JSON-Text anfordern:

{
  "project": "project-id",
  "instance": "instance-id",
  "name": "database-name"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

REST v1beta4

Die folgende Anfrage verwendet die Methode databases:insert, um eine neue Datenbank auf der angegebenen Instanz zu erstellen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID
  • database-name: der Name einer Datenbank in der Cloud SQL-Instanz

HTTP-Methode und URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases

JSON-Text anfordern:

{
  "project": "project-id",
  "instance": "instance-id",
  "name": "database-name"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

psql-Client

Referenzinformationen finden Sie unter CREATE DATABASE in der PostgreSQL-Dokumentation.

In den folgenden Themen der PostgreSQL-Dokumentation finden Sie Hintergrundinformationen und eine Liste der unterstützten Zeichensatzwerte:

CREATE DATABASE database_name
  [[ ENCODING encoding ][ LC_COLLATE lc_collate ]];

Beispiele:
CREATE DATABASE "example_db" WITH OWNER "example_user" ENCODING 'UTF8' LC_COLLATE = 'pl_PL.utf8' LC_CTYPE = 'pl_PL.utf8' TEMPLATE template0;

Datenbanken auflisten

So können Sie alle Datenbanken in einer Instanz auflisten lassen:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  3. Klicken Sie im linken Menü auf Datenbanken. Auf der Seite Datenbanken werden Datenbanken mit ihrem Sortiertyp, Zeichensatz und Datenbanktyp aufgeführt.

gcloud

Weitere Informationen finden Sie unter gcloud sql databases list.

gcloud sql databases list \
--instance=INSTANCE_NAME

REST Version 1

Die folgende Anfrage verwendet die Methode databases:list, um die Datenbanken für eine Instanz aufzulisten.

Wenn Sie die Datenbanken mithilfe der API auflisten lassen, finden Sie zusätzliche Datenbankvorlagen und eine Systemdatenbank vor, die von der Console nicht angezeigt werden. Sie können die Systemdatenbank weder löschen noch verwalten.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID

HTTP-Methode und URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

REST v1beta4

Die folgende Anfrage verwendet die Methode databases:list, um die Datenbanken für eine Instanz aufzulisten.

Wenn Sie die Datenbanken mithilfe der API auflisten lassen, finden Sie zusätzliche Datenbankvorlagen und eine Systemdatenbank vor, die von der Console nicht angezeigt werden. Sie können die Systemdatenbank weder löschen noch verwalten.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID

HTTP-Methode und URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

psql-Client

Referenzinformationen finden Sie in der Liste.

Wenn Sie die Datenbanken mithilfe des psql-Clients auflisten, finden Sie in der Liste zusätzliche Datenbankvorlagen und eine Systemdatenbank, die in der Console nicht angezeigt werden. Sie können die Systemdatenbank weder löschen noch verwalten.

\l

Datenbank löschen

So löschen Sie eine Datenbank aus der Cloud SQL-Instanz:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  3. Klicken Sie im linken Menü auf Datenbanken.
  4. Suchen Sie in der Liste die Datenbank, die Sie löschen möchten, und klicken Sie auf das Papierkorb-Symbol.
  5. Geben Sie im Dialogfeld Datenbank löschen den Namen der Datenbank ein und klicken Sie auf Löschen.

gcloud

Weitere Informationen finden Sie unter gcloud sql databases delete.

gcloud sql databases delete DATABASE_NAME \
--instance=INSTANCE_NAME

REST Version 1

Die folgende Anfrage verwendet die Methode databases:delete, um die angegebene Datenbank zu löschen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID
  • database-name: der Name einer Datenbank in der Cloud SQL-Instanz

HTTP-Methode und URL:

DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/database-name

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

REST v1beta4

Die folgende Anfrage verwendet die Methode databases:delete, um die angegebene Datenbank zu löschen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID
  • database-name: der Name einer Datenbank in der Cloud SQL-Instanz

HTTP-Methode und URL:

DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

psql-Client

Referenzinformationen finden Sie unter DROP DATABASE in der PostgreSQL-Dokumentation.

DROP DATABASE [database_name];

Weitere Informationen

Jetzt testen

Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit von Cloud SQL in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.

Cloud SQL kostenlos testen