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.
- Beachten Sie die Best Practices zum Exportieren und Importieren von Daten.
- Prüfen Sie die Ergebnisse nach Abschluss eines Importvorgangs.
Export- und Importvorgänge verwenden Datenbankressourcen, stören den normalen Datenbankbetrieb jedoch nicht, wenn die Instanz nicht unterdimensioniert ist.
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:
- Die Rolle Cloud SQL-Bearbeiter
- Eine benutzerdefinierte Rolle mit folgenden Berechtigungen:
cloudsql.instances.get
cloudsql.instances.export
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 daspg_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:
- Cloud Storage-Bucket erstellen.
- 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
- Weisen Sie dem Dienstkonto mit dem Befehl
gcloud storage buckets add-iam-policy-binding
die IAM-Rollestorage.objectAdmin
zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden. - 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 daspg_dump
-Tool verwendet.Nach Abschluss des Exports sollten Sie Dateien in einem Ordner im Cloud Storage-Bucket im Verzeichnisformat
pg_dump
haben. - 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.
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.
REST Version 1
Führen Sie die folgenden Schritte aus, um Daten parallel aus Cloud SQL in mehrere Dateien zu exportieren:
- Erstellen Sie einen Cloud Storage-Bucket:
Ersetzen Sie die folgenden Werte:gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_NAME --location=LOCATION_NAME
- 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
.
- BUCKET_NAME: Der Name des Buckets. Beachten Sie dabei die Benennungsanforderungen. Beispiel:
- 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. -
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:
- 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.
Nach Abschluss des Exports sollten Sie Dateien in einem Ordner im Cloud Storage-Bucket im Verzeichnisformat pg_dump
haben.
REST v1beta4
Führen Sie die folgenden Schritte aus, um Daten parallel aus Cloud SQL in mehrere Dateien zu exportieren:
- Erstellen Sie einen Cloud Storage-Bucket:
Ersetzen Sie die folgenden Werte:gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_NAME --location=LOCATION_NAME
- 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
.
- BUCKET_NAME: Der Name des Buckets. Beachten Sie dabei die Benennungsanforderungen. Beispiel:
- 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. -
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:
- 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.
Nach Abschluss des Exports sollten Sie Dateien in einem Ordner im Cloud Storage-Bucket im Verzeichnisformat pg_dump
haben.
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:
- Die Rolle Cloud SQL-Administrator
- Eine benutzerdefinierte Rolle mit folgenden Berechtigungen:
cloudsql.instances.get
cloudsql.instances.import
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:
- Cloud Storage-Bucket erstellen
Laden Sie die Dateien in Ihren Bucket hoch.
Informationen zum Hochladen von Dateien in Buckets finden Sie unter Objekte aus Dateien hochladen.
- 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
- Weisen Sie dem Dienstkonto mit dem
gcloud storage buckets add-iam-policy-binding
-Tool die IAM-Rollestorage.objectAdmin
zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden. - 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. - 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
.
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.
REST Version 1
Führen Sie die folgenden Schritte aus, um Daten aus mehreren Dateien parallel in Cloud SQL zu importieren:
- Erstellen Sie einen Cloud Storage-Bucket:
Ersetzen Sie die folgenden Werte:gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_NAME --location=LOCATION_NAME
- 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
.
- BUCKET_NAME: Der Name des Buckets. Beachten Sie dabei die Benennungsanforderungen. Beispiel:
Laden Sie die Dateien in Ihren Bucket hoch.
Informationen zum Hochladen von Dateien in Buckets finden Sie unter Objekte aus Dateien hochladen.
- 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. 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
Die vollständige Liste der Parameter für die Anfrage finden Sie auf der Seite Cloud SQL Admin API.importContext.importUser
an.- 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:
- Erstellen Sie einen Cloud Storage-Bucket:
Ersetzen Sie die folgenden Werte:gcloud storage buckets create gs://BUCKET_NAME --project=PROJECT_NAME --location=LOCATION_NAME
- 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
.
- BUCKET_NAME: Der Name des Buckets. Beachten Sie dabei die Benennungsanforderungen. Beispiel:
Laden Sie die Dateien in Ihren Bucket hoch.
Informationen zum Hochladen von Dateien in Buckets finden Sie unter Objekte aus Dateien hochladen.
- 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. 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
Die vollständige Liste der Parameter für die Anfrage finden Sie auf der Seite Cloud SQL Admin API.importContext.importUser
an.- 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
odertables
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
- Status der Import- und Exportoperationen überprüfen
- Informationen zum Abbrechen des Imports und Exports von Daten
- Best Practices zum Importieren und Exportieren von Daten
- Bekannte Probleme bei Importen und Exporten