Importer à partir d'un fichier de dump

Avant d'importer des données, vous devez :

  1. Créez un cluster de bases de données dans lequel importer les données.

  2. Importez le fichier de dump dans un bucket de stockage. Pour obtenir des instructions, consultez Importer des objets dans des buckets de stockage.

  3. Accordez au compte de service d'importation du service de base de données un accès en lecture au fichier de dump. Consultez Accorder et obtenir l'accès au stockage. Par exemple, vous pouvez attribuer le rôle project-bucket-object-viewer au compte de service d'importation.

    Le système Database Service crée automatiquement ce compte de service lorsque le cluster de bases de données est créé. L'état du cluster de bases de données inclut le nom et l'espace de noms du compte de service d'importation.

    Pour récupérer le nom et l'espace de noms du compte de service d'importation, exécutez la commande suivante :

    kubectl --kubeconfig=MGMT_API_KUBECONFIG \
      get dbcluster.postgresql -n PROJECT_ID DATABASE_CLUSTER_NAME \
      -o jsonpath='{.status.serviceAccounts.import}'
    

    Cette commande renvoie un objet JSON contenant le nom et les détails de l'espace de noms : {"name":"postgresql-import-DATABASE_CLUSTER_NAME","namespace":"SERVICE_ACCOUNT_NAMESPACE"}

AVERTISSEMENT : Le fichier de dump de la base de données doit être créé à l'aide de pg_dump avec un format d'archive compatible avec pg_restore. Les dumps au format SQL brut (format par défaut si aucune option de format n'est spécifiée) ne sont pas acceptés.

Vous pouvez importer un fichier de dump dans un cluster de bases de données à l'aide de la console GDC ou de la Distributed Cloud CLI :

Console

  1. Ouvrez la page Présentation du cluster de bases de données dans la console GDC pour afficher le cluster contenant la base de données que vous importez.

  2. Cliquez sur Importer. Le panneau Importer des données dans les comptes s'ouvre.

  3. Dans la section Source du panneau Importer des données dans des comptes, spécifiez l'emplacement du fichier de dump SQL que vous avez importé précédemment.

  4. Dans le champ Destination, spécifiez une base de données de destination existante pour l'importation.

  5. Cliquez sur Importer. Une bannière sur la console GDC indique l'état de l'importation.

gdcloud CLI

  1. Avant d'utiliser Distributed Cloud CLI, installez-la et initialisez-la. Ensuite, authentifiez-vous auprès de votre organisation.

  2. Exécutez la commande suivante pour importer un fichier de dump dans une base de données :

    gdcloud database import sql DATABASE_CLUSTER BUCKET_NAME/sample.dmp \
        --project=PROJECT_NAME
    

    Remplacez les éléments suivants :

    • DATABASE_CLUSTER par le nom du cluster de base de données dans lequel importer les données.
    • BUCKET_NAME/SAMPLE.dmp avec l'emplacement du fichier de dump.
    • PROJECT_NAME par le nom du projet dans lequel se trouve le cluster de bases de données.
  3. Exécutez la commande suivante pour vérifier l'état de l'importation :

    gdcloud database operations list --project=PROJECT_NAME --cluster=DATABASE_CLUSTER
    

API

apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: Import
metadata:
  name: IMPORT_NAME
  namespace: USER_PROJECT
spec:
  dbclusterRef: DBCLUSTER_NAME
  dumpStorage:
    s3Options:
      bucket: BUCKET_NAME
      key: DUMP_FILE_PATH
    type: S3

Remplacez les variables suivantes :

  • IMPORT_NAME : nom de l'opération d'importation.
  • USER_PROJECT : nom du projet utilisateur dans lequel le cluster de bases de données à importer est créé.
  • DBCLUSTER_NAME : nom du cluster de bases de données.
  • BUCKET_NAME : nom du bucket de stockage d'objets qui stocke les fichiers d'importation.
  • DUMP_FILE_PATH : nom du chemin d'accès au stockage d'objets pour les fichiers stockés.