Cette page explique comment gérer une instance Spanner database, y compris comment créer une base de données, modifier les options de base de données et supprimer une base de données. Pour savoir comment mettre à jour un schéma de base de données, consultez Effectuer des mises à jour de schéma.
Pour vous entraîner à créer une base de données et à la charger avec des exemples de données, consultez la Votre premier atelier de programmation sur la base de données.
Créer une base de données
Les exemples suivants montrent comment créer une base de données dans une instance existante.
Pour les bases de données avec dialecte GoogleSQL, vous pouvez définir la base de données schema soit lors de la création de la base de données, soit après la création de la base de données. Pour les bases de données en dialecte PostgreSQL, vous devez définir le schéma après sa création.
Les schémas sont définis à l'aide du langage de définition de base de données, qui est documenté pour GoogleSQL et PostgreSQL. Consultez les liens suivants pour plus d'informations sur la création et la mise à jour des schémas:
- Schéma et modèle de données
- Bonnes pratiques relatives à la conception de schémas
- Mises à jour des schémas
Après avoir créé votre base de données, vous pouvez sauvegarder les bases de données importantes à vos applications et services en activant la protection contre la suppression de bases de données. Pour Pour en savoir plus, consultez la section Empêcher la suppression accidentelle de bases de données.
Console
Accédez à la page Instances dans la console Google Cloud.
Sélectionnez l'instance dans laquelle créer la base de données.
Cliquez sur Créer une base de données.
Saisissez les valeurs suivantes :
- Un nom de base de données à afficher dans la console Google Cloud.
- Dialecte à utiliser pour cette base de données.
- Pour les bases de données de dialecte GoogleSQL, fournissez éventuellement un ensemble d'instructions LDD qui définir votre schéma. Utilisez les Modèles LDD pour préremplir les éléments communs S'il y a des erreurs dans instructions LDD, la console Google Cloud renvoie une erreur vous essayez de créer la base de données.
- Si vous le souhaitez, sélectionnez une clé de chiffrement gérée par le client à utiliser pour cette base de données.
Cliquez sur Créer pour créer la base de données.
gcloud
Exécutez la commande gcloud spanner databases create
.
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 …]
Les options suivantes sont requises :
DATABASE
- ID de la base de données ou identifiant complet du
base de données. Si vous spécifiez l'identifiant complet, le
L'option
--instance
peut être omise. --instance=INSTANCE
- Instance Spanner de la base de données.
Les options suivantes sont facultatives :
--async
- Retour immédiat, sans attendre l'opération en cours pour terminer.
--database-dialect=DATABASE_DIALECT
- Dialecte SQL de la base de données Spanner. Doit être
au choix:
POSTGRESQL
ouGOOGLE_STANDARD_SQL
. --ddl=DDL
- Instructions LDD (langage de définition de données) séparées par un point-virgule à exécuter
dans la nouvelle base de données. Si une erreur se produit dans une
, la base de données n'est pas créée. Cet indicateur est ignoré si
--ddl_file
est défini. Non compatible avec les bases de données de dialecte PostgreSQL. --ddl-file=DDL_FILE
- Chemin d'accès d'un fichier contenant des éléments séparés par un point-virgule
des instructions LDD (langage de définition de données) à exécuter dans le nouvel
la base de données créée. S'il y a une erreur dans une instruction, la base de données est
n'a pas été créée. Si
--ddl_file
est défini,--ddl
est sont ignorées. Non compatible avec les bases de données de dialecte PostgreSQL.
Si vous spécifiez une clé Cloud Key Management Service à utiliser lorsque vous créez la base de données, incluez les options suivantes:
--kms-key=KMS_KEY
- ID ou identifiant complet de la clé.
Cette option doit être spécifiée si l'un des autres arguments de cette sont spécifiés. Les autres arguments peuvent être omis si la méthode l'identifiant complet est fourni.
--kms-keyring=KMS_KEYRING
- ID du trousseau de clés Cloud KMS de la clé.
--kms-location=KMS_LOCATION
- Emplacement Google Cloud de la clé.
--kms-project=KMS_PROJECT
- ID de projet Google Cloud pour la clé.
Client (GoogleSQL)
C++
Pour savoir comment installer et utiliser la bibliothèque cliente pour Spanner, consultez Bibliothèques clientes Spanner.
Pour vous authentifier auprès de Spanner, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour savoir comment installer et utiliser la bibliothèque cliente pour Spanner, consultez Bibliothèques clientes Spanner.
Pour vous authentifier auprès de Spanner, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour savoir comment installer et utiliser la bibliothèque cliente pour Spanner, consultez Bibliothèques clientes Spanner.
Pour vous authentifier auprès de Spanner, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
<ph type="x-smartling-placeholder">
Node.js
Pour savoir comment installer et utiliser la bibliothèque cliente pour Spanner, consultez Bibliothèques clientes Spanner.
Pour vous authentifier auprès de Spanner, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
<ph type="x-smartling-placeholder">
PHP
Pour savoir comment installer et utiliser la bibliothèque cliente pour Spanner, consultez Bibliothèques clientes Spanner.
Pour vous authentifier auprès de Spanner, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
<ph type="x-smartling-placeholder">
Python
Pour savoir comment installer et utiliser la bibliothèque cliente pour Spanner, consultez Bibliothèques clientes Spanner.
Pour vous authentifier auprès de Spanner, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
<ph type="x-smartling-placeholder">
Ruby
Pour savoir comment installer et utiliser la bibliothèque cliente pour Spanner, consultez Bibliothèques clientes Spanner.
Pour vous authentifier auprès de Spanner, configurez les identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Mettre à jour le schéma ou les options de base de données
Vous pouvez mettre à jour le schéma et les options de votre base de données à l'aide d'instructions LDD.
Par exemple, pour ajouter une colonne à une table, utilisez l'instruction LDD suivante:
GoogleSQL
ALTER TABLE Songwriters ADD COLUMN Publisher STRING(10);
PostgreSQL
ALTER TABLE Songwriters ADD COLUMN Publisher VARCHAR(10);
Pour mettre à jour la version de l'optimiseur de requêtes, utilisez l'instruction LDD suivante:
GoogleSQL
ALTER DATABASE Music SET OPTIONS(optimizer_version=null);
PostgreSQL
ALTER DATABASE DB-NAME SET spanner.optimizer_version TO DEFAULT;
Pour en savoir plus sur les options compatibles, reportez-vous au LDD ALTER DATABASE
référence pour GoogleSQL ou
PostgreSQL.
Pour en savoir plus sur les mises à jour de schéma, consultez Effectuez des mises à jour de schéma.
Console
Accédez à la page Instances dans la console Google Cloud.
Sélectionnez l'instance contenant la base de données à modifier.
Sélectionnez la base de données.
Cliquez sur Spanner Studio.
Cliquez sur
Nouvel onglet ou utilisez le champ vide. de l'éditeur. Ensuite, saisissez les instructions LDD à appliquer.Cliquez sur Exécuter pour appliquer les mises à jour. S'il y a des erreurs dans votre LDD, la console Google Cloud renvoie une erreur et la base de données n'est pas modifiées.
gcloud
Pour modifier une base de données à l'aide de l'outil de ligne de commande gcloud
, utilisez
gcloud spanner databases ddl update
gcloud spanner databases ddl update \ (DATABASE : --instance=INSTANCE) \ [--async] \ [--ddl=DDL] \ [--ddl-file=DDL_FILE] \
Consultez le
Documentation de référence sur gcloud
pour
des détails sur les options disponibles.
Transmettez les mises à jour de la base de données à la commande avec l'option --ddl
ou
--ddl-file
. Si un fichier LDD est spécifié, l'option --ddl
est ignorée.
Consultez la documentation de référence sur le LDD ALTER DATABASE
pour GoogleSQL ou
PostgreSQL pour que les instructions LDD à inclure
LDD
Consultez la documentation de référence sur le LDD ALTER DATABASE
pour GoogleSQL ou
PostgreSQL pour plus de détails.
Vérifier la progression des opérations de mise à jour du schéma
Console
Dans le menu de navigation de Spanner, sélectionnez l'onglet Opérations. La La page Opérations affiche la liste des opérations en cours d'exécution.
Recherchez l'opération de schéma dans la liste. S'il est toujours en cours d'exécution, l'état la barre de la colonne End time (Heure de fin) indique le pourcentage de l'opération qui est terminée, comme illustré dans l'image suivante:
gcloud
Utiliser gcloud spanner operations describe
pour vérifier la progression d'une opération.
Obtenez l'ID d'opération:
gcloud spanner operations list --instance=INSTANCE-NAME \ --database=DATABASE-NAME --type=DATABASE_UPDATE_DDL
Remplacez les éléments suivants :
- INSTANCE-NAME par l'instance Spanner. son nom.
- DATABASE-NAME par le nom de la base de données.
Exécutez
gcloud spanner operations describe
:gcloud spanner operations describe OPERATION_ID\ --instance=INSTANCE-NAME \ --database=DATABASE-NAME
Remplacez les éléments suivants :
- OPERATION-ID: ID de l'opération que vous souhaitez effectuer. vérifier.
- INSTANCE-NAME: nom de l'instance Spanner.
- DATABASE-NAME: nom de la base de données Spanner.
La section
progress
du résultat indique le pourcentage de l'opération c'est terminé. La sortie ressemble à ceci :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 v1
Obtenez l'ID d'opération:
gcloud spanner operations list --instance=INSTANCE-NAME \ --database=DATABASE-NAME --type=DATABASE_UPDATE_DDL
Remplacez les éléments suivants :
- INSTANCE-NAME par l'instance Spanner. son nom.
- DATABASE-NAME par le nom de la base de données.
Vérifiez la progression de l'opération.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT-ID : ID du projet.
- INSTANCE-ID : ID de l'instance.
- DATABASE-ID: ID de la base de données.
- OPERATION-ID: ID de l'opération.
Méthode HTTP et URL :
GET https://spanner.googleapis.com/v1/projects/PROJECT-ID/instances/INSTANCE-ID/databases/DATABASE-ID/operations/OPERATION-ID
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ ... "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" } }
Si l'opération prend trop de temps, vous pouvez l'annuler. Pour en savoir plus, consultez Annulez une opération de base de données de longue durée.
Supprimer une base de données
La suppression d'une base de données est définitive. Toutes ses données sont alors supprimées. Base de données La suppression est irréversible. Si la protection contre la suppression des bases de données est activée sur une base de données, vous ne pouvez pas la supprimer tant que vous n'avez pas désactivé protection contre la suppression.
Les sauvegardes existantes ne sont pas supprimées en cas de suppression d'une base de données. Pour plus plus d'informations, consultez la section Sauvegarde et restauration.
Console
Accédez à la page Instances dans la console Google Cloud.
Sélectionnez l'instance contenant la base de données à supprimer.
Sélectionnez la base de données.
Cliquez sur Supprimer la base de données. Une confirmation s'affiche.
Saisissez le nom de la base de données, puis cliquez sur Supprimer.
gcloud
Pour supprimer une base de données à l'aide de l'outil de ligne de commande gcloud
, exécutez la commande suivante :
gcloud spanner databases delete
gcloud spanner databases delete \ (DATABASE : --instance=INSTANCE)
Les options suivantes sont requises :
DATABASE
- ID de la base de données ou identifiant complet de la base de données. Si
l'identifiant complet est fourni, le
--instance
doit être omise. --instance=INSTANCE
- Instance Spanner de la base de données.
Pour en savoir plus, consultez les
Référence gcloud
.
LDD
Le LDD n'est pas compatible avec la syntaxe de suppression de base de données.
Étape suivante
- Créez une base de données et chargez-la avec des exemples de données.
- Obtenez plus d'informations sur la documentation de référence sur le LDD GoogleSQL.
- En savoir plus sur la documentation de référence sur le LDD PostgreSQL
- Découvrez comment sauvegarder et restaurer une base de données.
- Découvrez comment empêcher la suppression accidentelle de bases de données.
- Découvrez comment effectuer des mises à jour de schéma.