Auf dieser Seite wird beschrieben, wie Sie eine Spanner-Datenbank verwalten, z. B. wie Sie eine Datenbank erstellen, Datenbankoptionen ändern und eine Datenbank löschen. Informationen zum Aktualisieren eines Datenbankschemas finden Sie unter Schemaaktualisierungen.
Wie Sie eine Datenbank erstellen und mit Beispieldaten laden, können Sie in der Codelab für Ihre erste Datenbank
Datenbank erstellen
Die folgenden Beispiele zeigen, wie eine Datenbank in einer vorhandenen Instanz erstellt wird.
Für GoogleSQL-Dialekt-Datenbanken können Sie die Datenbank Schema entweder zum Zeitpunkt der Datenbankerstellung oder nachdem die Datenbank erstellt wurde. Bei Datenbanken mit PostgreSQL-Dialekt müssen Sie das Schema nach der Erstellung definieren.
Schemas werden mithilfe der Database Definition Language (Datenbankdefinitionssprache) definiert, die dokumentiert ist. für GoogleSQL und PostgreSQL. Unter den folgenden Links finden Sie Weitere Informationen zum Erstellen und Aktualisieren von Schemas:
Nachdem Sie Ihre Datenbank erstellt haben, können Sie wichtige Datenbanken absichern. für Ihre Anwendungen und Dienste, indem Sie den Löschschutz für Datenbanken aktivieren. Für Weitere Informationen finden Sie unter Versehentliches Löschen der Datenbank verhindern.
Console
Rufen Sie in der Google Cloud Console die Seite Instanzen auf.
Wählen Sie die Instanz aus, in der die Datenbank erstellt werden soll.
Klicken Sie auf Datenbank erstellen.
Geben Sie die folgenden Werte ein:
- Ein Datenbankname, der in der Google Cloud Console angezeigt wird.
- Der für diese Datenbank zu verwendende Dialekt.
- Für GoogleSQL-Dialekt-Datenbanken können Sie optional eine Reihe von DDL-Anweisungen bereitstellen, die Definieren Sie Ihr Schema. Verwenden Sie die Methode DDL-Vorlagen zum Vorausfüllen gängiger Elemente Wenn Ihre DDL-Anweisungen Fehler enthalten, gibt die Google Cloud Console beim Versuch, die Datenbank zu erstellen, einen Fehler zurück.
- Wählen Sie optional einen vom Kunden verwalteten Verschlüsselungsschlüssel für den dieser Datenbank.
Klicken Sie auf Erstellen, um die Datenbank anzulegen.
gcloud
Führen Sie den Befehl gcloud spanner databases create
aus.
gcloud spanner databases create DATABASE \
--instance=INSTANCE \
[--async] \
[--database-dialect=DATABASE_DIALECT] \
[--ddl=DDL] \
[--ddl-file=DDL_FILE] \
[--kms-key=KMS_KEY : --kms-keyring=KMS_KEYRING --kms-location=KMS_LOCATION --kms-project=KMS_PROJECT] \
[GCLOUD_WIDE_FLAG …]
Folgende Optionen sind erforderlich:
DATABASE
- ID der Datenbank oder voll qualifizierte Kennung für die
Datenbank. Bei Angabe der voll qualifizierten Kennung
Das Flag
--instance
kann weggelassen werden. --instance=INSTANCE
- Die Spanner-Instanz für die Datenbank.
Folgende Optionen sind optional:
--async
- Sofort zurückgeben, ohne auf den laufenden Vorgang warten zu müssen noch zu erledigen.
--database-dialect=DATABASE_DIALECT
- Der SQL-Dialekt der Spanner-Datenbank. Muss
POSTGRESQL
oderGOOGLE_STANDARD_SQL
sein. --ddl=DDL
- Durch Semikolon getrennte DDL-Anweisungen (Data Definition Language), die in der neu erstellten Datenbank ausgeführt werden sollen. Wenn in einer Anweisung ein Fehler auftritt, wird die Datenbank nicht erstellt. Dieses Flag wird ignoriert, wenn
--ddl_file
ist festgelegt. Wird von PostgreSQL-Dialekt-Datenbanken nicht unterstützt. --ddl-file=DDL_FILE
- Pfad einer Datei, die durch Semikolons getrennt ist
DDL-Anweisungen (Data Definition Language, Datendefinitionssprache), die innerhalb der neuen
Datenbank erstellt. Wenn eine Anweisung einen Fehler enthält, wird die Datenbank
nicht erstellt. Wenn
--ddl_file
festgelegt ist, wird--ddl
ignoriert. Wird von PostgreSQL-Dialekt-Datenbanken nicht unterstützt.
Wenn Sie einen Cloud Key Management Service-Schlüssel für die Verwendung Schließen Sie beim Erstellen der Datenbank die folgenden Optionen ein:
--kms-key=KMS_KEY
- ID des Schlüssels oder vollständig qualifizierte ID für den Schlüssel.
Dieses Flag muss angegeben werden, wenn eines der anderen Argumente in dieser -Gruppe angegeben ist. Die anderen Argumente können weggelassen werden, wenn vollständig qualifizierte ID bereitgestellt.
--kms-keyring=KMS_KEYRING
- Cloud KMS-Schlüsselbund-ID des Schlüssels.
--kms-location=KMS_LOCATION
- Google Cloud-Speicherort für den Schlüssel.
--kms-project=KMS_PROJECT
- Google Cloud-Projekt-ID für den Schlüssel.
Client (GoogleSQL)
C++
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Go
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Java
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken.
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
PHP
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ruby
Informationen zum Installieren und Verwenden der Clientbibliothek für Spanner finden Sie unter Spanner-Clientbibliotheken
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Spanner zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Datenbankschema oder ‑optionen aktualisieren
Sie können das Datenbankschema und die Optionen mithilfe von DDL-Anweisungen aktualisieren.
Wenn Sie beispielsweise einer Tabelle eine Spalte hinzufügen möchten, verwenden Sie die folgende DDL-Anweisung:
GoogleSQL
ALTER TABLE Songwriters ADD COLUMN Publisher STRING(10);
PostgreSQL
ALTER TABLE Songwriters ADD COLUMN Publisher VARCHAR(10);
Verwenden Sie die folgende DDL-Anweisung, um die Version des Abfrageoptimierungstools zu aktualisieren:
GoogleSQL
ALTER DATABASE Music SET OPTIONS(optimizer_version=null);
PostgreSQL
ALTER DATABASE DB-NAME SET spanner.optimizer_version TO DEFAULT;
Weitere Informationen zu unterstützten Optionen finden Sie in der DDL-Datei ALTER DATABASE
.
Referenz für GoogleSQL oder
PostgreSQL.
Informationen zu Schemaaktualisierungen finden Sie unter Schemaaktualisierungen vornehmen
Console
Rufen Sie in der Google Cloud Console die Seite Instanzen auf.
Wählen Sie die Instanz mit der zu ändernden Datenbank aus.
Wählen Sie die Datenbank aus.
Klicken Sie auf Spanner Studio.
Klicken Sie auf
Neuer Tab oder verwenden Sie das leere Editor-Tab. Geben Sie dann die anzuwendenden DDL-Anweisungen ein.Klicken Sie auf Ausführen, um die Updates zu übernehmen. Wenn die DDL Fehler enthalten, gibt die Google Cloud Console einen Fehler zurück und die Datenbank verändert wurden.
gcloud
Verwenden Sie gcloud spanner databases ddl update
, um eine Datenbank mit dem gcloud
-Befehlszeilentool zu ändern.
gcloud spanner databases ddl update \ (DATABASE : --instance=INSTANCE) \ [--async] \ [--ddl=DDL] \ [--ddl-file=DDL_FILE] \
Weitere Informationen zu den verfügbaren Optionen finden Sie in der Referenz zu gcloud
.
Übergeben Sie die Datenbankaktualisierungen an den Befehl, entweder mit dem Flag --ddl
oder mit dem
--ddl-file
-Flag. Wenn eine DDL-Datei angegeben ist, wird das Flag --ddl
ignoriert.
Informationen zu den einzufügenden DDL-Anweisungen finden Sie in der ALTER DATABASE
DDL-Referenz für GoogleSQL oder PostgreSQL.
DDL
Weitere Informationen finden Sie in der ALTER DATABASE
-DDL-Referenz für GoogleSQL oder PostgreSQL.
Fortschritt der Schemaaktualisierungsvorgänge prüfen
Console
Wählen Sie im Spanner-Navigationsmenü den Tab Vorgänge aus. Die Auf der Seite Vorgänge wird eine Liste der aktuell ausgeführten Vorgänge angezeigt.
Suchen Sie in der Liste nach dem Schemavorgang. Wird sie noch ausgeführt, wird der Fortschritt Der Balken in der Spalte Ende zeigt den Prozentsatz des Vorgangs an, abgeschlossen ist, wie in der folgenden Abbildung gezeigt:
gcloud
Verwenden Sie gcloud spanner operations describe
, um den Fortschritt eines Vorgangs zu prüfen.
Rufen Sie die Vorgangs-ID ab:
gcloud spanner operations list --instance=INSTANCE-NAME \ --database=DATABASE-NAME --type=DATABASE_UPDATE_DDL
Ersetzen Sie Folgendes:
- INSTANCE-NAME durch den Namen der Spanner-Instanz.
- DATABASE-NAME durch den Namen der Datenbank.
Führen Sie
gcloud spanner operations describe
aus.gcloud spanner operations describe OPERATION_ID\ --instance=INSTANCE-NAME \ --database=DATABASE-NAME
Ersetzen Sie Folgendes:
- OPERATION-ID: Die Vorgangs-ID des Vorgangs, den Sie ausführen möchten. überprüfen.
- INSTANCE-NAME: Der Name der Spanner-Instanz.
- DATABASE-NAME: Der Name der Spanner-Datenbank.
Im Abschnitt
progress
wird in der Ausgabe der Prozentsatz des abgeschlossenen Vorgangs angezeigt. Die Ausgabe sieht dann ungefähr so aus:done: true metadata: ... progress: - endTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 startTime: '2022-03-01T00:28:04.221401Z' - endTime: '2022-03-01T00:28:17.624588Z' startTime: '2022-03-01T00:28:06.691403Z' progressPercent: 100 ...
REST Version 1
Rufen Sie die Vorgangs-ID ab:
gcloud spanner operations list --instance=INSTANCE-NAME \ --database=DATABASE-NAME --type=DATABASE_UPDATE_DDL
Ersetzen Sie Folgendes:
- INSTANCE-NAME durch die Spanner-Instanz Namen.
- DATABASE-NAME durch den Datenbanknamen.
Prüfen Sie den Fortschritt des Vorgangs.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT-ID: Projekt-ID.
- INSTANCE-ID: Instanz-ID.
- DATABASE-ID: die Datenbank-ID.
- OPERATION-ID: die Vorgangs-ID.
HTTP-Methode und URL:
GET https://spanner.googleapis.com/v1/projects/PROJECT-ID/instances/INSTANCE-ID/databases/DATABASE-ID/operations/OPERATION-ID
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ ... "progress": [ { "progressPercent": 100, "startTime": "2023-05-27T00:52:27.366688Z", "endTime": "2023-05-27T00:52:30.184845Z" }, { "progressPercent": 100, "startTime": "2023-05-27T00:52:30.184845Z", "endTime": "2023-05-27T00:52:40.750959Z" } ], ... "done": true, "response": { "@type": "type.googleapis.com/google.protobuf.Empty" } }
Wenn der Vorgang zu lange dauert, können Sie ihn abbrechen. Weitere Informationen finden Sie unter Lang andauernden Datenbankvorgang abbrechen
Datenbank löschen
Durch das Löschen einer Datenbank werden die Datenbank und alle zugehörigen Daten endgültig entfernt. Datenbank kann nicht rückgängig gemacht werden. Wenn der Löschschutz für Datenbanken für eine Datenbank aktiviert ist, können Sie diese erst löschen, wenn Sie den Löschschutz deaktivieren.
Vorhandene Sicherungen werden nicht gelöscht, wenn eine Datenbank gelöscht wird. Weitere Informationen Weitere Informationen finden Sie unter Sichern und Wiederherstellen.
Console
Rufen Sie in der Google Cloud Console die Seite Instanzen auf.
Wählen Sie die Instanz mit der zu löschenden Datenbank aus.
Wählen Sie die Datenbank aus.
Klicken Sie auf Datenbank löschen. Eine Bestätigung wird angezeigt.
Geben Sie den Datenbanknamen ein und klicken Sie auf Löschen.
gcloud
Um eine Datenbank mit dem gcloud
-Befehlszeilentool zu löschen, verwenden Sie
gcloud spanner databases delete
.
gcloud spanner databases delete \ (DATABASE : --instance=INSTANCE)
Folgende Optionen sind erforderlich:
DATABASE
- ID der Datenbank oder voll qualifizierte Kennung für die Datenbank. Wenn
wird die voll qualifizierte ID bereitgestellt, die
--instance
angegeben werden. --instance=INSTANCE
- Die Spanner-Instanz für die Datenbank.
Weitere Informationen finden Sie in der Referenz zu gcloud
.
DDL
DDL unterstützt keine Syntax zum Löschen von Datenbanken.
Nächste Schritte
- Datenbank erstellen und mit Beispieldaten laden
- Weitere Informationen zur GoogleSQL-DDL-Referenz
- Weitere Informationen zur PostgreSQL-DDL-Referenz
- Datenbank sichern und wiederherstellen
- Informationen zum Verhindern des versehentlichen Löschens von Datenbanken
- Schemaaktualisierungen