Dateien parallel exportieren und importieren

Auf dieser Seite wird beschrieben, wie Sie Dateien parallel in Cloud SQL-Instanzen exportieren und importieren.

Hinweise

Für einen Export- oder Importvorgang ist Folgendes zu beachten:

  • Sorgen Sie dafür, dass in Ihrer Datenbank ausreichend freier Speicherplatz vorhanden ist.
  • Export- und Importvorgänge verwenden Datenbankressourcen, stören den normalen Datenbankbetrieb jedoch nicht, wenn die Instanz nicht unterdimensioniert ist.

  • Beachten Sie die Best Practices zum Exportieren und Importieren von Daten.
  • Prüfen Sie die Ergebnisse nach Abschluss eines Importvorgangs.

Daten parallel aus Cloud SQL for PostgreSQL in mehrere Dateien exportieren

Die folgenden Abschnitte enthalten Informationen zum parallelen Exportieren von Daten aus Cloud SQL for PostgreSQL in mehrere Dateien.

Erforderliche Rollen und Berechtigungen für den parallelen Export von Daten aus Cloud SQL for PostgreSQL in mehrere Dateien

Damit Daten aus Cloud SQL in Cloud Storage exportiert werden können, muss der Nutzer, der den Export initiiert, eine der folgenden Rollen haben:

Darüber hinaus muss das Dienstkonto für die Cloud SQL-Instanz eine der folgenden Rollen haben:

  • Die Rolle storage.objectAdmin für die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM)
  • Eine benutzerdefinierte Rolle mit folgenden Berechtigungen:
    • storage.objects.create
    • storage.objects.list (nur für parallelen Export von Dateien)
    • storage.objects.delete (nur für parallelen Export von Dateien)

Informationen zu IAM-Rollen finden Sie unter Identity and Access Management.

Daten parallel in mehrere Dateien exportieren

Sie können Daten parallel aus mehreren Dateien, die sich in Cloud SQL befinden, in Cloud Storage exportieren. Verwenden Sie dazu das pg_dump-Tool mit der Option --jobs.

Wenn Sie Ihre Daten in Cloud SQL importieren möchten, folgen Sie der Anleitung unter Daten von einem externen Datenbankserver exportieren, damit Ihre Dateien korrekt für Cloud SQL formatiert werden.

gcloud

Führen Sie die folgenden Schritte aus, um Daten parallel aus Cloud SQL in mehrere Dateien zu exportieren:

  1. Cloud Storage-Bucket erstellen.
  2. Verwenden Sie den Befehl
    gcloud sql instances describe, um das Dienstkonto für die Cloud SQL-Instanz zu finden, aus der Sie Dateien exportieren.
    gcloud sql instances describe INSTANCE_NAME
  3. Ersetzen Sie INSTANCE_NAME durch den Namen Ihrer Cloud SQL-Instanz.

    Suchen Sie in der Ausgabe nach dem Wert, der dem Feld serviceAccountEmailAddress zugeordnet ist.

  4. Weisen Sie dem Dienstkonto mit dem Befehl gcloud storage buckets add-iam-policy-binding die IAM-Rolle storage.objectAdmin zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  5. Verwenden Sie den Befehl gcloud sql export sql, um Daten parallel aus Cloud SQL in mehrere Dateien zu exportieren:
    gcloud sql export sql INSTANCE_NAME gs://BUCKET_NAME/BUCKET_PATH/FOLDER_NAME \
    --offload \
    --parallel \
    --threads=THREAD_NUMBER \
    --database=DATABASE_NAME \
    --table=TABLE_EXPRESSION
    

    Ersetzen Sie die folgenden Werte:

    • INSTANCE_NAME: Der Name der Cloud SQL-Instanz, aus der Sie Dateien parallel exportieren.
    • BUCKET_NAME durch den Namen des Cloud Storage-Buckets.
    • BUCKET_PATH: Der Pfad zum Bucket, in dem die Exportdateien gespeichert sind.
    • FOLDER_NAME: der Ordner, in dem die Exportdateien gespeichert werden.
    • THREAD_NUMBER: Die Anzahl der Threads, die Cloud SQL zum parallelen Exportieren von Dateien verwendet. Wenn Sie beispielsweise drei Dateien gleichzeitig parallel exportieren möchten, geben Sie 3 als Wert für diesen Parameter an.
    • DATABASE_NAME (optional): Der Name der Datenbanken in der Cloud SQL-Instanz, aus denen der Export erfolgt. Wenn Sie keine Datenbank angeben, exportiert Cloud SQL alle Nutzerdatenbanken aus der Instanz. Weitere Informationen finden Sie unter Gesamte Instanz exportieren.
    • TABLE_EXPRESSION: die Tabellen, die aus der angegebenen Datenbank exportiert werden sollen.

    Mit dem Befehl export sql werden zwar Ansichten exportiert, jedoch keine Trigger oder gespeicherten Prozeduren. Verwenden Sie zum Exportieren von Triggern oder gespeicherten Prozeduren einen einzelnen Thread. In diesem Thread wird das pg_dump-Tool verwendet.

    Nach Abschluss des Exports sollten Sie Dateien in einem Ordner im Cloud Storage-Bucket im Verzeichnisformat pg_dump haben.

  6. Wenn Sie die IAM-Rolle, die Sie unter Erforderliche Rollen und Berechtigungen für das Exportieren aus Cloud SQL for PostgreSQL festgelegt haben, nicht benötigen, entfernen Sie sie.

REST Version 1

Führen Sie die folgenden Schritte aus, um Daten parallel aus Cloud SQL in mehrere Dateien zu exportieren:

  1. Erstellen Sie einen Cloud Storage-Bucket:
    gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_NAME --location=LOCATION_NAME
    
    Ersetzen Sie die folgenden Werte:
    • BUCKET_NAME: Der Name des Buckets. Beachten Sie dabei die Benennungsanforderungen. Beispiel: my-bucket
    • PROJECT_NAME: Der Name des Google Cloud -Projekts, das den Cloud Storage-Bucket enthält, den Sie erstellen.
    • LOCATION_NAME: Der Speicherort des Buckets, in dem Sie die zu exportierenden Dateien speichern möchten. Beispiel: us-east1.
  2. Weisen Sie Ihrer Instanz die IAM-Rolle legacyBucketWriter für Ihren Bucket zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  3. Exportieren Sie Daten parallel aus Cloud SQL in mehrere Dateien:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_NAME: den Namen des Google Cloud Projekts, das den von Ihnen erstellten Cloud Storage-Bucket enthält.
    • INSTANCE_NAME: Der Name der Cloud SQL-Instanz, aus der Sie Dateien parallel exportieren.
    • BUCKET_NAME durch den Namen des Cloud Storage-Buckets.
    • BUCKET_PATH: Der Pfad zum Bucket, in dem die Exportdateien gespeichert sind.
    • FOLDER_NAME: der Ordner, in dem die Exportdateien gespeichert werden.
    • DATABASE_NAME: Der Name der Datenbank in der Cloud SQL-Instanz, aus der der Export erfolgt. Wenn Sie alle Nutzerdatenbanken aus der Instanz exportieren möchten, entfernen Sie dieses Feld aus dem Anfragetext.
    • THREAD_NUMBER: Die Anzahl der Threads, die Cloud SQL zum parallelen Exportieren von Dateien verwendet. Wenn Sie beispielsweise drei Dateien gleichzeitig parallel exportieren möchten, geben Sie 3 als Wert für diesen Parameter an.

    HTTP-Methode und URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_NAME/instances/INSTANCE_NAME/export

    JSON-Text anfordern:

    {
     "exportContext":
       {
          "fileType": "SQL",
          "uri": "gs://BUCKET_NAME/BUCKET_PATH/FOLDER_NAME",
          "databases": ["DATABASE_NAME"],
          "offload": [TRUE|FALSE],
          "sqlExportOptions": {
            "parallel": [TRUE|FALSE],
            "threads": [THREAD_NUMBER]
           }
       }
    }
    

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

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

  4. Nach Abschluss des Exports sollten Sie Dateien in einem Ordner im Cloud Storage-Bucket im Verzeichnisformat pg_dump haben.

  5. Wenn Sie die IAM-Rolle, die Sie unter Erforderliche Rollen und Berechtigungen für das Exportieren aus Cloud SQL for PostgreSQL festgelegt haben, nicht benötigen, entfernen Sie sie.
Die vollständige Liste der Parameter für die Anfrage finden Sie auf der Seite Cloud SQL Admin API.

REST v1beta4

Führen Sie die folgenden Schritte aus, um Daten parallel aus Cloud SQL in mehrere Dateien zu exportieren:

  1. Erstellen Sie einen Cloud Storage-Bucket:
    gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_NAME --location=LOCATION_NAME
    Ersetzen Sie die folgenden Werte:
    • BUCKET_NAME: Der Name des Buckets. Beachten Sie dabei die Benennungsanforderungen. Beispiel: my-bucket
    • PROJECT_NAME: Der Name des Google Cloud -Projekts, das den Cloud Storage-Bucket enthält, den Sie erstellen.
    • LOCATION_NAME: Der Speicherort des Buckets, in dem Sie die zu exportierenden Dateien speichern möchten. Beispiel: us-east1.
  2. Weisen Sie Ihrer Instanz die IAM-Rolle storage.objectAdmin für Ihren Bucket zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  3. Exportieren Sie Daten parallel aus Cloud SQL in mehrere Dateien:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_NAME: den Namen des Google Cloud Projekts, das den von Ihnen erstellten Cloud Storage-Bucket enthält.
    • INSTANCE_NAME: Der Name der Cloud SQL-Instanz, aus der Sie Dateien parallel exportieren.
    • BUCKET_NAME durch den Namen des Cloud Storage-Buckets.
    • BUCKET_PATH: Der Pfad zum Bucket, in dem die Exportdateien gespeichert sind.
    • FOLDER_NAME: der Ordner, in dem die Exportdateien gespeichert werden.
    • DATABASE_NAME: Der Name der Datenbank in der Cloud SQL-Instanz, aus der der Export erfolgt. Wenn Sie alle Nutzerdatenbanken aus der Instanz exportieren möchten, entfernen Sie dieses Feld aus dem Anfragetext.
    • THREAD_NUMBER: Die Anzahl der Threads, die Cloud SQL zum parallelen Exportieren von Dateien verwendet. Wenn Sie beispielsweise drei Dateien gleichzeitig parallel exportieren möchten, geben Sie 3 als Wert für diesen Parameter an.

    HTTP-Methode und URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_NAME/instances/INSTANCE_NAME/export

    JSON-Text anfordern:

    {
     "exportContext":
       {
          "fileType": "SQL",
          "uri": "gs://BUCKET_NAME/BUCKET_PATH/FOLDER_NAME",
          "databases": ["DATABASE_NAME"],
          "offload": [TRUE|FALSE],
          "sqlExportOptions": {
            "parallel": [TRUE|FALSE],
            "threads": [THREAD_NUMBER]
           }
       }
    }
    

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

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

  4. Nach Abschluss des Exports sollten Sie Dateien in einem Ordner im Cloud Storage-Bucket im Verzeichnisformat pg_dump haben.

  5. Wenn Sie die IAM-Rolle, die Sie unter Erforderliche Rollen und Berechtigungen für das Exportieren aus Cloud SQL for PostgreSQL festgelegt haben, nicht benötigen, entfernen Sie sie.
Die vollständige Liste der Parameter für die Anfrage finden Sie auf der Seite Cloud SQL Admin API.

Gesamte Instanz exportieren und importieren

Sie können alle Nutzerdatenbanken in einer gesamten Instanz mit einem parallel ausgeführten Export im Verzeichnisformat exportieren oder importieren.

Wenn Sie eine gesamte Instanz exportieren oder importieren möchten, verwenden Sie dieselben Befehle wie in den Abschnitten Paralleler Export und Paralleler Import beschrieben, wobei Sie das Feld databases bzw. database entfernen. Wenn Sie keine Datenbank angeben, führt Cloud SQL einen parallelen Export oder Import für alle Nutzerdatenbanken in der Instanz aus. Systemdatenbanken und Cloud SQL-Datenbanken, die zum Verwalten interner Vorgänge verwendet werden, sind davon ausgeschlossen.

Bei einem parallel ausgeführten Export im Verzeichnisformat nach Cloud Storage werden die Daten, die mit jeder Datenbank verknüpft sind, nach Abschluss des Exports in einem Unterverzeichnis gespeichert, das nach der jeweiligen Datenbank benannt ist, z. B.:

gs://example-bucket/test-folder/
    |---- postgres/
    |    |---- 3929.dat.gz (table data file)
    |    |---- toc.dat (metadata file)
    |
    |---- second_database/
    |    |---- 3930.dat.gz
    |    |---- 3931.dat.gz
    |    |---- toc.dat

Wenn Sie einen parallelen Import für eine gesamte Instanz ausführen möchten und die Dateien der Instanz außerhalb von Cloud SQL erstellt wurden, ist diese Unterverzeichnisstruktur erforderlich, damit der Vorgang erfolgreich abgeschlossen werden kann.

Wenn die gesamte Struktur des Instanzdumps erkannt wird, wird die in der API angegebene Importdatenbank ignoriert. Der Vorgang erkennt die gesamte Struktur der Instanz anhand des Verzeichnisnamens.

Sie können keinen vollständigen Instanzexport oder -import für andere Dateiformate ausführen.

Sie können keine gesamte Instanz als einzelne SQL- oder CSV-Datei exportieren oder importieren.

Daten aus mehreren Dateien parallel in Cloud SQL for PostgreSQL importieren

Die folgenden Abschnitte enthalten Informationen zum parallelen Importieren von Daten aus mehreren Dateien in Cloud SQL for PostgreSQL.

Erforderliche Rollen und Berechtigungen für das parallele Importieren von Daten aus mehreren Dateien in Cloud SQL for PostgreSQL

Wenn Sie Daten aus Cloud Storage in Cloud SQL importieren möchten, muss der Nutzer, der den Import initiiert, eine der folgenden Rollen haben:

Darüber hinaus muss das Dienstkonto für die Cloud SQL-Instanz eine der folgenden Rollen haben:

  • storage.objectAdmin IAM-Rolle.
  • Eine benutzerdefinierte Rolle mit folgenden Berechtigungen:
    • storage.objects.get
    • storage.objects.list (nur für parallelen Import von Dateien)

Informationen zu IAM-Rollen finden Sie unter Identity and Access Management.

Daten in Cloud SQL for PostgreSQL importieren

Sie können Daten parallel aus mehreren Dateien, die sich in Cloud Storage befinden, in Ihre Datenbank importieren. Verwenden Sie dazu das pg_restore-Tool mit der Option --jobs.

gcloud

Führen Sie die folgenden Schritte aus, um Daten aus mehreren Dateien parallel in Cloud SQL zu importieren:

  1. Cloud Storage-Bucket erstellen
  2. Laden Sie die Dateien in Ihren Bucket hoch.

    Informationen zum Hochladen von Dateien in Buckets finden Sie unter Objekte aus Dateien hochladen.

  3. Verwenden Sie den Befehl
    gcloud sql instances describe, um das Dienstkonto für die Cloud SQL-Instanz zu finden, in die Sie Dateien importieren.
    gcloud sql instances describe INSTANCE_NAME
  4. Ersetzen Sie INSTANCE_NAME durch den Namen Ihrer Cloud SQL-Instanz.

    Suchen Sie in der Ausgabe nach dem Wert, der dem Feld serviceAccountEmailAddress zugeordnet ist.

  5. Weisen Sie dem Dienstkonto mit dem gcloud storage buckets add-iam-policy-binding-Tool die IAM-Rolle storage.objectAdmin zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  6. Verwenden Sie den Befehl gcloud sql import sql, um Daten aus mehreren Dateien parallel in Cloud SQL zu importieren:
    gcloud sql import sql INSTANCE_NAME gs://BUCKET_NAME/BUCKET_PATH/FOLDER_NAME \
    --parallel \ 
    --threads=THREAD_NUMBER \
    --database=DATABASE_NAME
    

    Ersetzen Sie die folgenden Werte:

    • INSTANCE_NAME: Der Name der Cloud SQL-Instanz, in die Sie Dateien parallel importieren.
    • BUCKET_NAME durch den Namen des Cloud Storage-Buckets.
    • BUCKET_PATH: Der Pfad zum Bucket, in dem die Importdateien gespeichert sind.
    • FOLDER_NAME: Der Ordner, in dem die Importdateien gespeichert sind.
    • THREAD_NUMBER: Die Anzahl der Threads, die Cloud SQL zum parallelen Importieren von Dateien verwendet. Wenn Sie beispielsweise drei Dateien gleichzeitig parallel importieren möchten, geben Sie 3 als Wert für diesen Parameter an.
    • DATABASE_NAME: Der Name der Datenbank in der Cloud SQL-Instanz, aus der der Import erfolgt. Sie dürfen nur eine Datenbank angeben.

    Wenn durch den Befehl ein Fehler wie ERROR_RDBMS zurückgegeben wird, prüfen Sie die Berechtigungen. Dieser Fehler wird oft durch Berechtigungsprobleme verursacht.

  7. Wenn Sie die IAM-Berechtigungen, die Sie unter Erforderliche Rollen und Berechtigungen für das Importieren in Cloud SQL for PostgreSQL festgelegt haben, nicht benötigen, entfernen Sie sie mit gcloud storage buckets remove-iam-policy-binding.

REST Version 1

Führen Sie die folgenden Schritte aus, um Daten aus mehreren Dateien parallel in Cloud SQL zu importieren:

  1. Erstellen Sie einen Cloud Storage-Bucket:
    gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_NAME --location=LOCATION_NAME
    
    Ersetzen Sie die folgenden Werte:
    • BUCKET_NAME: Der Name des Buckets. Beachten Sie dabei die Benennungsanforderungen. Beispiel: my-bucket
    • PROJECT_NAME: Der Name des Google Cloud -Projekts, das den Cloud Storage-Bucket enthält, den Sie erstellen.
    • LOCATION_NAME: Der Speicherort des Buckets, in dem Sie die zu importierenden Dateien speichern möchten. Beispiel: us-east1.
  2. Laden Sie die Dateien in Ihren Bucket hoch.

    Informationen zum Hochladen von Dateien in Buckets finden Sie unter Objekte aus Dateien hochladen.

  3. Weisen Sie Ihrer Instanz die IAM-Rolle storage.objectAdmin für Ihren Bucket zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  4. So importieren Sie Daten aus mehreren Dateien parallel in Cloud SQL:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_NAME: den Namen des Google Cloud Projekts, das den von Ihnen erstellten Cloud Storage-Bucket enthält.
    • INSTANCE_NAME: Der Name der Cloud SQL-Instanz, in die Sie Dateien parallel importieren.
    • BUCKET_NAME durch den Namen des Cloud Storage-Buckets.
    • BUCKET_PATH: Der Pfad zum Bucket, in dem die Importdateien gespeichert sind.
    • FOLDER_NAME: Der Ordner, in dem die Importdateien gespeichert sind.
    • DATABASE_NAME: Der Name der Datenbank in der Cloud SQL-Instanz, aus der der Import erfolgt. Sie dürfen nur eine Datenbank angeben.
    • THREAD_NUMBER: Die Anzahl der Threads, die Cloud SQL zum parallelen Importieren von Dateien verwendet. Wenn Sie beispielsweise drei Dateien gleichzeitig parallel importieren möchten, geben Sie 3 als Wert für diesen Parameter an.

    HTTP-Methode und URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_NAME/instances/INSTANCE_NAME/import

    JSON-Text anfordern:

    
    {
      "importContext":
        {
           "fileType": "SQL",
           "uri": "gs://BUCKET_NAME/BUCKET_PATH/FOLDER_NAME",
           "databases": ["DATABASE_NAME"],
           "offload": [TRUE|FALSE],
           "sqlImportOptions": {
             "parallel": [TRUE|FALSE],
             "clean": [TRUE|FALSE],
             "ifExists": [TRUE|FALSE],
             "threads": [THREAD_NUMBER]
            }
        }
     }
    

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

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

    Wenn Sie einen anderen Nutzer für den Import verwenden möchten, geben Sie das Attribut importContext.importUser an.

    Die vollständige Liste der Parameter für die Anfrage finden Sie auf der Seite Cloud SQL Admin API.
  5. Wenn Sie die IAM-Berechtigungen, die Sie unter Erforderliche Rollen und Berechtigungen für das Importieren in Cloud SQL for PostgreSQL festgelegt haben, nicht benötigen, entfernen Sie sie mit gcloud storage buckets remove-iam-policy-binding.

REST v1beta4

Führen Sie die folgenden Schritte aus, um Daten aus mehreren Dateien parallel in Cloud SQL zu importieren:

  1. Erstellen Sie einen Cloud Storage-Bucket:
    gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_NAME --location=LOCATION_NAME
    
    Ersetzen Sie die folgenden Werte:
    • BUCKET_NAME: Der Name des Buckets. Beachten Sie dabei die Benennungsanforderungen. Beispiel: my-bucket
    • PROJECT_NAME: Der Name des Google Cloud -Projekts, das den Cloud Storage-Bucket enthält, den Sie erstellen.
    • LOCATION_NAME: Der Speicherort des Buckets, in dem Sie die zu importierenden Dateien speichern möchten. Beispiel: us-east1.
  2. Laden Sie die Dateien in Ihren Bucket hoch.

    Informationen zum Hochladen von Dateien in Buckets finden Sie unter Objekte aus Dateien hochladen.

  3. Weisen Sie Ihrer Instanz die IAM-Rolle storage.objectAdmin für Ihren Bucket zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  4. So importieren Sie Daten aus mehreren Dateien parallel in Cloud SQL:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_NAME: den Namen des Google Cloud Projekts, das den von Ihnen erstellten Cloud Storage-Bucket enthält.
    • INSTANCE_NAME: Der Name der Cloud SQL-Instanz, aus der Sie Dateien parallel importieren.
    • BUCKET_NAME durch den Namen des Cloud Storage-Buckets.
    • BUCKET_PATH: Der Pfad zum Bucket, in dem die Importdateien gespeichert sind.
    • FOLDER_NAME: Der Ordner, in dem die Importdateien gespeichert sind.
    • DATABASE_NAME: Der Name der Datenbank in der Cloud SQL-Instanz, aus der der Import erfolgt. Sie dürfen nur eine Datenbank angeben.
    • THREAD_NUMBER: Die Anzahl der Threads, die Cloud SQL zum parallelen Importieren von Dateien verwendet. Wenn Sie beispielsweise drei Dateien gleichzeitig parallel importieren möchten, geben Sie 3 als Wert für diesen Parameter an.

    HTTP-Methode und URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_NAME/instances/INSTANCE_NAME/import

    JSON-Text anfordern:

    
     {
       "importContext":
         {
            "fileType": "SQL",
            "uri": "gs://BUCKET_NAME/BUCKET_PATH/FOLDER_NAME",
            "databases": ["DATABASE_NAME"],
            "offload": [TRUE|FALSE],
            "sqlImportOptions": {
              "parallel": [TRUE|FALSE],
              "clean": [TRUE|FALSE],
              "ifExists": [TRUE|FALSE],
              "threads": [THREAD_NUMBER]
             }
         }
      }
    

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

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

    Wenn Sie einen anderen Nutzer für den Import verwenden möchten, geben Sie das Attribut importContext.importUser an.

    Die vollständige Liste der Parameter für die Anfrage finden Sie auf der Seite Cloud SQL Admin API.
  5. Wenn Sie die IAM-Berechtigungen, die Sie unter Erforderliche Rollen und Berechtigungen für das Importieren in Cloud SQL for PostgreSQL festgelegt haben, nicht benötigen, entfernen Sie sie mit gcloud storage buckets remove-iam-policy-binding.

Beschränkungen

  • Wenn Sie beim parallelen Importieren oder Exportieren von Daten aus mehreren Dateien zu viele Threads angeben, kann es sein, dass Sie mehr Arbeitsspeicher verwenden, als Ihre Cloud SQL-Instanz hat. In diesem Fall wird eine interne Fehlermeldung angezeigt. Prüfen Sie die Speichernutzung Ihrer Instanz und erhöhen Sie bei Bedarf die Größe der Instanz. Weitere Informationen finden Sie unter Instanzeinstellungen.

  • Beim Exportieren werden Kommas in Datenbank- oder Tabellennamen in den Feldern databases oder tables nicht unterstützt.

  • Achten Sie darauf, dass genügend Speicherplatz für den Download der ersten Dump-Datei vorhanden ist. Andernfalls wird der Fehler no space left on disk angezeigt.

  • Wenn Ihre Instanz nur eine virtuelle CPU (vCPU) hat, können Sie nicht mehrere Dateien parallel importieren oder exportieren. Die Anzahl der vCPUs für Ihre Instanz darf nicht kleiner sein als die Anzahl der Threads, die Sie für den Import- oder Exportvorgang verwenden. Die Anzahl der Threads muss mindestens zwei betragen.

  • Multi-Thread-Importe und ‑Exporte sind nicht mit Single-Thread-Importen und ‑Exporten kompatibel. So können beispielsweise Dumpdateien, die durch einen Single-Thread-Export generiert wurden, nur durch Single-Thread-Importe importiert werden. Dump-Dateien, die durch parallele Exporte generiert werden, können nur durch parallele Importe importiert werden.

  • Mit dem pg_dump-Tool können keine Tabellen in Chunks aufgeteilt werden, die Sie exportieren. Wenn Sie also eine sehr große Tabelle haben, kann dies zu einem Engpass für die Geschwindigkeit des Exportvorgangs werden.

Nächste Schritte