Créer et gérer des bases de données

Cette page explique comment crĂ©er, rĂ©pertorier et supprimer des bases de donnĂ©es PostgreSQL sur une instance Cloud SQL.

Une nouvelle instance possÚde une base de données postgres.

Pour en savoir plus sur les bases de données PostgreSQL, consultez la documentation PostgreSQL.

Avant de commencer

Avant d'effectuer les tĂąches indiquĂ©es sur cette page :

Si vous prĂ©voyez de crĂ©er ou de gĂ©rer vos bases de donnĂ©es Ă  l'aide du client psql, vous devez avoir :

CrĂ©er une base de donnĂ©es sur l'instance Cloud SQL

Console

  1. Dans la console Google Cloud , accĂ©dez Ă  la page Instances Cloud SQL.

    AccĂ©der Ă  la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Dans le menu de navigation SQL, sélectionnez Bases de données.
  4. Cliquez sur Create database.
  5. Dans la boßte de dialogue Nouvelle base de données, spécifiez le nom de la base de données.
  6. Cliquez sur Créer.

gcloud

Pour plus d'informations, consultez la page sur gcloud sql databases create.

gcloud sql databases create DATABASE_NAME \
--instance=INSTANCE_NAME

Terraform

Pour créer une base de données, utilisez une ressource Terraform.

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

Appliquer les modifications

Pour appliquer votre configuration Terraform dans un projet Google Cloud , suivez les procédures des sections suivantes.

PrĂ©parer Cloud Shell

  1. Lancez Cloud Shell.
  2. Définissez le projet Google Cloud par défaut dans lequel vous souhaitez appliquer vos configurations Terraform.

    Vous n'avez besoin d'exécuter cette commande qu'une seule fois par projet et vous pouvez l'exécuter dans n'importe quel répertoire.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Les variables d'environnement sont remplacées si vous définissez des valeurs explicites dans le fichier de configuration Terraform.

Préparer le répertoire

Chaque fichier de configuration Terraform doit avoir son propre répertoire (également appelé module racine).

  1. Dans Cloud Shell, crĂ©ez un rĂ©pertoire et un nouveau fichier dans ce rĂ©pertoire. Le nom du fichier doit comporter l'extension .tf, par exemple main.tf. Dans ce tutoriel, le fichier est appelĂ© main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si vous suivez un tutoriel, vous pouvez copier l'exemple de code dans chaque section ou étape.

    Copiez l'exemple de code dans le fichier main.tf que vous venez de créer.

    Vous pouvez également copier le code depuis GitHub. Cela est recommandé lorsque l'extrait Terraform fait partie d'une solution de bout en bout.

  3. Examinez et modifiez les exemples de paramĂštres Ă  appliquer Ă  votre environnement.
  4. Enregistrez les modifications.
  5. Initialisez Terraform. Cette opération n'est à effectuer qu'une seule fois par répertoire.
    terraform init

    Vous pouvez Ă©galement utiliser la derniĂšre version du fournisseur Google en incluant l'option -upgrade :

    terraform init -upgrade

Appliquer les modifications

  1. Examinez la configuration et vĂ©rifiez que les ressources que Terraform va crĂ©er ou mettre Ă  jour correspondent Ă  vos attentes :
    terraform plan

    Corrigez les modifications de la configuration si nécessaire.

  2. Appliquez la configuration Terraform en exĂ©cutant la commande suivante et en saisissant yes lorsque vous y ĂȘtes invitĂ© :
    terraform apply

    Attendez que Terraform affiche le message "Apply completed!" (Application terminée).

  3. Ouvrez votre projet Google Cloud pour afficher les résultats. Dans la console Google Cloud , accédez à vos ressources dans l'interface utilisateur pour vous assurer que Terraform les a créées ou mises à jour.

Supprimer les modifications

Pour supprimer vos modifications, procĂ©dez comme suit :

  1. Pour désactiver la protection contre la suppression, définissez l'argument deletion_protection sur false dans le fichier de configuration Terraform.
    deletion_protection =  "false"
  2. Appliquez la configuration Terraform mise Ă  jour en exĂ©cutant la commande suivante et en saisissant yes lorsque vous y ĂȘtes invitĂ© :
    terraform apply
  1. Supprimez les ressources prĂ©cĂ©demment appliquĂ©es Ă  votre configuration Terraform en exĂ©cutant la commande suivante et en saisissant yes Ă  la requĂȘte :

    terraform destroy

REST v1

La requĂȘte suivante exĂ©cute la mĂ©thode databases:insert pour crĂ©er une base de donnĂ©es sur l'instance spĂ©cifiĂ©e.

Avant d'utiliser les donnĂ©es de requĂȘte, effectuez les remplacements suivants :

  • project-id : ID du projet
  • instance-id : ID de l'instance.
  • database-name : nom d'une base de donnĂ©es dans l'instance Cloud SQL.

MĂ©thode HTTP et URL :

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

Corps JSON de la requĂȘte :

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

Pour envoyer votre requĂȘte, dĂ©veloppez l'une des options suivantes :

Vous devriez recevoir une rĂ©ponse JSON de ce type :

REST v1beta4

La requĂȘte suivante exĂ©cute la mĂ©thode databases:insert pour crĂ©er une base de donnĂ©es sur l'instance spĂ©cifiĂ©e.

Avant d'utiliser les donnĂ©es de requĂȘte, effectuez les remplacements suivants :

  • project-id : ID du projet
  • instance-id : ID de l'instance.
  • database-name : nom d'une base de donnĂ©es dans l'instance Cloud SQL.

MĂ©thode HTTP et URL :

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

Corps JSON de la requĂȘte :

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

Pour envoyer votre requĂȘte, dĂ©veloppez l'une des options suivantes :

Vous devriez recevoir une rĂ©ponse JSON de ce type :

Client psql

Pour en savoir plus, consultez la section CREATE DATABASE de la documentation PostgreSQL.

Consultez les sujets suivants dans la documentation PostgreSQL pour obtenir des informations gĂ©nĂ©rales et une liste des valeurs de jeux de caractĂšres compatibles :

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

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

Lister les bases de données

Pour rĂ©pertorier toutes les bases de donnĂ©es d'une instance :

Console

  1. Dans la console Google Cloud , accĂ©dez Ă  la page Instances Cloud SQL.

    AccĂ©der Ă  la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Bases de données dans le menu de gauche. La page Bases de données répertorie les bases de données ainsi que leur type de classement, leur jeu de caractÚres et leur type de base de données.

gcloud

Pour plus d'informations, consultez la page sur gcloud sql databases list.

gcloud sql databases list \
--instance=INSTANCE_NAME

REST v1

La requĂȘte suivante exĂ©cute la mĂ©thode databases:list pour rĂ©pertorier les bases de donnĂ©es d'une instance.

Lorsque vous répertoriez les bases de données à l'aide de l'API, vous voyez des bases de données de modÚles supplémentaires ainsi qu'une base de données systÚme qui ne sont pas affichées par la console. Vous ne pouvez pas supprimer ni gérer la base de données systÚme.

Avant d'utiliser les donnĂ©es de requĂȘte, effectuez les remplacements suivants :

  • project-id : ID du projet
  • instance-id : ID de l'instance.

MĂ©thode HTTP et URL :

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

Pour envoyer votre requĂȘte, dĂ©veloppez l'une des options suivantes :

Vous devriez recevoir une rĂ©ponse JSON de ce type :

REST v1beta4

La requĂȘte suivante exĂ©cute la mĂ©thode databases:list pour rĂ©pertorier les bases de donnĂ©es d'une instance.

Lorsque vous répertoriez les bases de données à l'aide de l'API, vous voyez des bases de données de modÚles supplémentaires ainsi qu'une base de données systÚme qui ne sont pas affichées par la console. Vous ne pouvez pas supprimer ni gérer la base de données systÚme.

Avant d'utiliser les donnĂ©es de requĂȘte, effectuez les remplacements suivants :

  • project-id : ID du projet
  • instance-id : ID de l'instance.

MĂ©thode HTTP et URL :

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

Pour envoyer votre requĂȘte, dĂ©veloppez l'une des options suivantes :

Vous devriez recevoir une rĂ©ponse JSON de ce type :

Client psql

Pour obtenir des informations de référence, reportez-vous à la commande list (répertorier).

Lorsque vous répertoriez les bases de données à l'aide du client psql, vous obtenez des bases de données de modÚles supplémentaires et une base de données systÚme qui ne sont pas affichées par la console. Vous ne pouvez pas supprimer ni gérer la base de données systÚme.

\l

Supprimer une base de données

Pour supprimer une base de donnĂ©es sur l'instance Cloud SQL :

Console

  1. Dans la console Google Cloud , accĂ©dez Ă  la page Instances Cloud SQL.

    AccĂ©der Ă  la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Cliquez sur Bases de données dans le menu de gauche.
  4. Dans la liste des bases de données, recherchez celle que vous souhaitez supprimer et cliquez sur l'icÎne de la corbeille.
  5. Dans la boßte de dialogue Supprimer la base de données, saisissez le nom de la base de données, puis cliquez sur Supprimer.

gcloud

Pour plus d'informations, consultez la page sur gcloud sql databases delete.

gcloud sql databases delete DATABASE_NAME \
--instance=INSTANCE_NAME

REST v1

La requĂȘte suivante exĂ©cute la mĂ©thode databases:delete pour supprimer la base de donnĂ©es spĂ©cifiĂ©e.

Avant d'utiliser les donnĂ©es de requĂȘte, effectuez les remplacements suivants :

  • project-id : ID du projet
  • instance-id : ID de l'instance.
  • database-name : nom d'une base de donnĂ©es dans l'instance Cloud SQL.

MĂ©thode HTTP et URL :

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

Pour envoyer votre requĂȘte, dĂ©veloppez l'une des options suivantes :

Vous devriez recevoir une rĂ©ponse JSON de ce type :

REST v1beta4

La requĂȘte suivante exĂ©cute la mĂ©thode databases:delete pour supprimer la base de donnĂ©es spĂ©cifiĂ©e.

Avant d'utiliser les donnĂ©es de requĂȘte, effectuez les remplacements suivants :

  • project-id : ID du projet
  • instance-id : ID de l'instance.
  • database-name : nom d'une base de donnĂ©es dans l'instance Cloud SQL.

MĂ©thode HTTP et URL :

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

Pour envoyer votre requĂȘte, dĂ©veloppez l'une des options suivantes :

Vous devriez recevoir une rĂ©ponse JSON de ce type :

Client psql

Pour en savoir plus, consultez la section DROP DATABASE de la documentation PostgreSQL.

DROP DATABASE [database_name];

Étapes suivantes

Faites l'essai

Si vous dĂ©butez sur Google Cloud, crĂ©ez un compte pour Ă©valuer les performances de Cloud SQL en conditions rĂ©elles. Les nouveaux clients bĂ©nĂ©ficient Ă©galement de 300 $ de crĂ©dits gratuits pour exĂ©cuter, tester et dĂ©ployer des charges de travail.

Profiter d'un essai gratuit de Cloud SQL