Daten exportieren

Auf dieser Seite wird beschrieben, wie Sie Daten von Cloud SQL-Instanzen oder von einem Datenbankserver exportieren, der nicht von Cloud SQL verwaltet wird.

Exporte verwenden Datenbankressourcen, stören den normalen Datenbankbetrieb jedoch nicht, wenn die Instanz nicht unterdimensioniert ist.

Best Practices zum Export von Daten finden Sie unter Best Practices zum Importieren und Exportieren von Daten.

Sie können eine CSV-Datei exportieren. Sie können auch eine SQL-Dumpdatei exportieren, um beispielsweise Daten in eine andere SQL-Datenbank zu exportieren.

Standardexport im Vergleich zum serverlosen Export

Bei einem Standardexport aus Cloud SQL wird der Export ausgeführt, während die Datenbank online ist. Wenn die zu exportierenden Datenbanken kleiner sind, ist die Auswirkung wahrscheinlich minimal. Falls Datenbanken jedoch groß sind oder große Objekte wie BLOBs enthalten, besteht die Möglichkeit, dass der Export die Datenbankleistung beeinträchtigt. Dies kann sich auf die Dauer von Datenbankabfragen und -vorgängen auswirken, die für die Datenbank ausgeführt werden. Sobald Sie einen Export gestartet haben, kann er nicht mehr abgebrochen werden, wenn die Datenbank langsam reagiert.

Mit dem serverlosen Export können Sie langsame Antworten während eines Exports vermeiden. Beim serverlosen Export erstellt Cloud SQL eine separate temporäre Instanz, um den Exportvorgang auszulagern. Damit können Datenbanken auf der primären Instanz weiterhin Abfragen verarbeiten und Vorgänge mit der üblichen Leistungsrate ausführen. Wenn der Datenexport abgeschlossen ist, wird die temporäre Instanz automatisch gelöscht.

Ein serverloser Export dauert länger als ein Standardexport, da das Erstellen der temporären Instanz einige Zeit in Anspruch nimmt. Er kann mindestens fünf Minuten länger dauern, bei größeren Datenbanken allerdings noch länger. Berücksichtigen Sie die Auswirkungen auf Zeit und Leistung, bevor Sie den zu verwendenden Exporttyp bestimmen.

Sie können den serverlosen Export auf einer primären Instanz oder einem Lesereplikat ausführen.

Best Practices zum Export von Daten finden Sie unter Best Practices zum Import und Export von Daten.

Daten aus Cloud SQL in eine SQL-Dumpdatei exportieren

Wenn Sie mit Cloud SQL einen Export in der Cloud Console, mit dem gcloud-Befehlszeilentool oder der API ausführen, verwenden Sie das Dienstprogramm pg_dump mit den Optionen, die erforderlich sind, damit die ausgegebene Exportdatei in Cloud SQL importiert werden kann.

Sie können pg_dump auch manuell mit dem psql-Client ausführen, wenn Sie in eine Datenbank exportieren, die nicht von Cloud SQL verwaltet wird.

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

Hinweis

Bei dieser Vorgehensweise müssen Sie eine Datei nach Cloud Storage exportieren. Zum Exportieren von Daten aus Cloud Storage muss das Dienstkonto oder der Nutzer die Rolle Cloud SQL-Client und mindestens die IAM-Rolle roles/storage.legacyBucketWriter haben Wenn das Dienstkonto oder der Nutzer auch Importvorgänge ausführt, können Sie dem Konto die im Projekt festgelegte IAM-Rolle storage.objectAdmin zuweisen. Informationen zu IAM-Rollen finden Sie unter Cloud Identity and Access Management für Cloud Storage.

Sie finden den Dienstkontonamen der Instanz in der Google Cloud Console auf der Seite Übersicht Ihrer Instanz. Mit dem gsutil-Tool können Sie prüfen, welche Rollen für den Cloud Storage-Bucket festgelegt sind:

gsutil iam get gs://[BUCKET_NAME]

Weitere Informationen zur Verwendung von IAM mit Buckets

Daten in eine SQL-Dumpdatei in Cloud Storage exportieren

So exportieren Sie Daten aus einer Datenbank in einer Cloud SQL-Instanz in eine SQL-Dumpdatei in einem Cloud Storage-Bucket:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite „Cloud SQL-Instanzen“

  2. Klicken Sie auf die Instanz, aus der Sie Daten exportieren möchten, um die zugehörige Seite Übersicht zu öffnen.
  3. Klicken Sie in der Schaltflächenleiste auf EXPORTIEREN.
  4. Klicken Sie unter Dateiformat auf SQL, um eine SQL-Dumpdatei zu erstellen.
  5. Wählen Sie im Drop-down-Menü unter Zu exportierende Daten die Datenbank aus, aus der Sie Daten exportieren möchten.
  6. Wählen Sie unter Ziel die Option Durchsuchen aus, um nach einem Cloud Storage-Bucket oder -Ordner für den Export zu suchen.
  7. Klicken Sie auf Exportieren, um mit dem Export zu beginnen.

gcloud

  1. Erstellen Sie einen Cloud Storage-Bucket, falls noch nicht geschehen.

    Informationen zum Erstellen eines Buckets finden Sie unter Storage-Buckets erstellen.

  2. Laden Sie die Datei in den Bucket hoch.

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

  3. Geben Sie die Instanz an, aus der Sie exportieren möchten:
      gcloud sql instances describe [INSTANCE_NAME]
      
  4. Kopieren Sie das Feld "serviceAccountEmailAddress".
  5. Weisen Sie mit gsutil iam die IAM-Rolle storage.objectAdmin dem Dienstkonto für den Bucket zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  6. Exportieren Sie die Datenbank:
      gcloud sql export sql [INSTANCE_NAME] gs://[BUCKET_NAME]/sqldumpfile.gz \
                                  --database=[DATABASE_NAME] --offload
      

    Mit dem Befehl export sql werden zwar Ansichten exportiert, jedoch keine Trigger oder gespeicherten Prozeduren. Verwenden Sie das Tool pg_dump, um Trigger und/oder gespeicherte Prozeduren zu exportieren.

    Weitere Informationen zur Verwendung des Befehls export sql finden Sie auf der Referenzseite des Befehls sql export sql.

  7. Wenn Sie die zuvor festgelegte IAM-Rolle nicht beibehalten möchten, entfernen Sie sie jetzt.

REST v1beta4

  1. Erstellen Sie einen Bucket für den Export:
    gsutil mb -p [PROJECT_NAME] -l [LOCATION_NAME] gs://[BUCKET_NAME]
    

    Dieser Schritt ist nicht erforderlich, wird aber dringend empfohlen, damit kein Zugriff auf andere Daten möglich ist.

  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 Ihre Datenbank:

    Ersetzen Sie diese Werte in den folgenden Anweisungen:

    • project-id: die Projekt-ID
    • instance-id: die Instanz-ID
    • bucket_name: der Name des Cloud Storage-Buckets
    • path_to_dump_file: der Pfad zur SQL-Dumpdatei
    • database_name_1: der Name einer Datenbank in der Cloud SQL-Instanz
    • database_name_2: der Name einer Datenbank in der Cloud SQL-Instanz
    • offload: aktiviert den serverlosen Export. Legen Sie true fest, um den serverlosen Export zu verwenden.

    HTTP-Methode und URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export

    JSON-Text anfordern:

    {
     "exportContext":
       {
          "fileType": "SQL",
          "uri": "gs://bucket_name/path_to_dump_file",
          "databases": ["database_name"]
          "offload": true | false
        }
    }
    

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

    Sie sollten in etwa folgende JSON-Antwort erhalten:

  4. Wenn Sie die zuvor festgelegte IAM-Rolle nicht beibehalten möchten, entfernen Sie sie jetzt.
Die vollständige Liste der Parameter für diese Anfrage finden Sie auf der Seite instances:export.

Daten aus Cloud SQL in eine CSV-Datei exportieren

Sie können Ihre Daten im CSV-Format exportieren, das von anderen Tools und Umgebungen verwendet werden kann. Exporte erfolgen auf Datenbankebene. Während eines CSV-Exports können Sie die zu exportierenden Schemas angeben. Alle Schemas auf Datenbankebene können exportiert werden.

Hinweis

Bei dieser Vorgehensweise müssen Sie eine Datei nach Cloud Storage exportieren. Zum Exportieren von Daten aus Cloud Storage muss das Dienstkonto oder der Nutzer die Rolle Cloud SQL-Client und mindestens die IAM-Rolle roles/storage.legacyBucketWriter haben Wenn das Dienstkonto oder der Nutzer auch Importvorgänge ausführt, können Sie dem Konto die im Projekt festgelegte IAM-Rolle storage.objectAdmin zuweisen. Informationen zu IAM-Rollen finden Sie unter Cloud Identity and Access Management für Cloud Storage.

Sie finden den Dienstkontonamen der Instanz in der Google Cloud Console auf der Seite Übersicht Ihrer Instanz. Mit dem gsutil-Tool können Sie prüfen, welche Rollen für den Cloud Storage-Bucket festgelegt sind:

gsutil iam get gs://[BUCKET_NAME]

Weitere Informationen zur Verwendung von IAM mit Buckets

Daten in eine CSV-Datei in Cloud Storage exportieren

So exportieren Sie Daten aus einer Datenbank in einer Cloud SQL-Instanz in eine SQL-Dumpdatei in einem Cloud Storage-Bucket:

Console

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite „Cloud SQL-Instanzen“

  2. Klicken Sie auf die Instanz, um ihre Übersichtsseite zu öffnen.
  3. Klicken Sie auf EXPORTIEREN.
  4. Wählen Sie unter Cloud Storage-Exportspeicherort einen Cloud Storage-Bucket oder -Ordner für den Export aus.
  5. Geben Sie im Feld Name einen Namen für die Exportdatei ein und klicken Sie auf Auswählen.

    Sie können die Dateiendung .gz verwenden, um Ihre Exportdatei zu komprimieren.

  6. Legen Sie das Format auf CSV fest.
  7. Geben Sie unter Cloud Storage-Exportspeicherort den Namen des Buckets, des Ordners und der Datei für den Export ein oder klicken Sie auf Durchsuchen, um einen Bucket, einen Ordner oder eine Datei zu suchen oder zu erstellen.

    Wenn Sie auf Durchsuchen klicken, gehen Sie so vor:

    1. Wählen Sie unter Speicherort einen Cloud Storage-Bucket oder -Ordner für den Export aus.
    2. Geben Sie im Textfeld Name einen Namen für die Datei CSV ein. Wenn Sie die Datei zuvor erstellt haben, wählen Sie den Namen aus der Liste unter Speicherort aus.

      Sie können die Dateiendung .gz (die vollständige Erweiterung lautet .csv.gz) verwenden, um die Exportdatei zu komprimieren.

    3. Klicken Sie auf Auswählen.
  8. Klicken Sie unter Format auf CSV.
  9. Wählen Sie unter Datenbank für den Export den Namen der Datenbank aus dem Drop-down-Menü aus.
  10. Geben Sie unter SQL-Abfrage eine SQL-Abfrage ein, um die Tabelle anzugeben, aus der Daten exportiert werden sollen.

    Wenn Sie beispielsweise den gesamten Inhalt der Tabelle entries in die Datenbank guestbook exportieren möchten, geben Sie Folgendes ein:

    SELECT * FROM guestbook.entries;
    Sie müssen in Ihrer Abfrage eine Tabelle der angegebenen Datenbank festlegen, da Sie keine komplette Datenbank im CSV-Format exportieren können.

  11. Klicken Sie auf Exportieren, um den Export zu starten.
  12. Das Dialogfeld Datenbank exportieren? wird mit einer Meldung geöffnet, dass der Exportvorgang bei großen Datenbanken eine Stunde oder länger dauern kann. Während des Exports können nur Informationen zur Instanz abgerufen werden. Sobald der Export gestartet wurde, kann er nicht mehr angehalten werden. Klicken Sie auf EXPORTIEREN, wenn der Zeitpunkt für den Export günstig ist. Klicken Sie andernfalls auf ABBRECHEN.

gcloud

  1. Erstellen Sie einen Cloud Storage-Bucket, falls noch nicht geschehen.

    Informationen zum Erstellen eines Buckets finden Sie unter Storage-Buckets erstellen.

  2. Laden Sie die Datei in den Bucket hoch.

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

  3. Geben Sie die Instanz an, aus der Sie exportieren möchten:
    gcloud sql instances describe [INSTANCE_NAME]
    
  4. Weisen Sie mit gsutil iam die IAM-Rolle storage.objectAdmin dem Dienstkonto für den Bucket zu. Weitere Informationen zum Festlegen von IAM-Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
  5. Exportieren Sie die Datenbank:
    gcloud sql export csv [INSTANCE_NAME] gs://[BUCKET_NAME]/[FILE_NAME] \
                                --database=[DATABASE_NAME]
                                --offload
                                --query=[SELECT_QUERY]
    

    Informationen zum Verwenden des Befehls export csv finden Sie auf der Referenzseite des Befehls sql export csv.

  6. Wenn Sie die zuvor festgelegte IAM-Rolle nicht beibehalten möchten, entfernen Sie sie jetzt.

REST v1beta4

  1. Erstellen Sie einen Bucket für den Export:
    gsutil mb -p [PROJECT_NAME] -l [LOCATION_NAME] gs://[BUCKET_NAME]
    

    Dieser Schritt ist nicht erforderlich, wird aber dringend empfohlen, damit kein Zugriff auf andere Daten möglich ist.

  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 Ihre Datenbank:

    Ersetzen Sie diese Werte in den folgenden Anweisungen:

    • project-id: die Projekt-ID
    • instance-id: die Instanz-ID
    • bucket_name: der Name des Cloud Storage-Buckets
    • path_to_csv_file: der Pfad zur CSV-Datei
    • database_name: der Name einer Datenbank in der Cloud SQL-Instanz
    • offload: aktiviert den serverlosen Export. Legen Sie true fest, um den serverlosen Export zu verwenden.
    • select_query: die SQL-Abfrage für den Export

    HTTP-Methode und URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export

    JSON-Text anfordern:

    {
     "exportContext":
       {
          "fileType": "CSV",
          "uri": "gs://bucket_name/path_to_csv_file",
          "databases": ["database_name"],
          "offload": true | false
          "csvExportOptions":
           {
               "selectQuery":"select_query"
           }
       }
    }
    

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

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    Sie müssen genau eine Datenbank mit dem Attribut databases angeben. Wenn Sie in der Auswahlabfrage eine Datenbank festlegen, muss diese damit identisch sein.

  4. Wenn Sie die zuvor festgelegte IAM-Rolle nicht beibehalten möchten, entfernen Sie sie jetzt.
Die vollständige Liste der Parameter für diese Anfrage finden Sie auf der Seite instances:export.

Beim CSV-Export wird eine Standard-CSV-Ausgabe erstellt. Wenn Sie ein nicht standardmäßiges CSV-Format benötigen, können Sie die folgende Anweisung in einem psql-Client verwenden:

  \copy [table_name] TO '[csv_file_name].csv' WITH
      (FORMAT csv, ESCAPE '[escape_character]', QUOTE '[quote_character]',
      DELIMITER '[delimiter_character]', ENCODING 'UTF8', NULL '[null_marker_string]');
Die vollständige Liste der Parameter für diese Anfrage finden Sie auf der Seite instances:export.

Daten mit pg_dump von einem lokalen PostgreSQL-Server exportieren

Wenn Sie eine Datenbank exportieren möchten, die nicht von Cloud SQL verwaltet wird, um sie später in Cloud SQL zu importieren, verwenden Sie das Dienstprogramm pg_dump mit den folgenden Flags:

  • --no-owner

    Die SQL-Dumpdatei darf keine Änderungsbefehle für Eigentumsrechte enthalten.

  • --format=plain

    Cloud SQL unterstützt derzeit nur das einfache SQL-Format.

  • --no-acl

    Dieses Flag ist erforderlich, wenn Ihr Dump ansonsten Anweisungen zum Gewähren oder Widerrufen der Zuweisung einer SUPERUSER-Rolle enthalten würde.

Darüber hinaus müssen Sie Folgendes entfernen:

  • Auf Erweiterungen bezogene Anweisungen, wenn Cloud SQL die jeweilige Erweiterung nicht unterstützt. Die Liste der unterstützten Erweiterungen finden Sie unter PostgreSQL-Erweiterungen.
  • CREATE EXTENSION- oder DROP EXTENSION-Anweisungen, die auf "plpgsql" verweisen. Diese Erweiterung ist auf Cloud SQL-Postgres-Instanzen vorinstalliert.
  • COMMENT ON EXTENSION-Anweisungen.

Führen Sie über die Befehlszeile pg_dump aus:

pg_dump -U [USERNAME] --format=plain --no-owner --no-acl [DATABASE_NAME] \
    | sed -E 's/(DROP|CREATE|COMMENT ON) EXTENSION/-- \1 EXTENSION/g' > [SQL_FILE].sql

Bei der sed-Nachbearbeitung werden alle Erweiterungsanweisungen in der SQL-Dumpdatei auskommentiert.

Prüfen Sie, ob die von den Datenbankeinstellungen festgelegte Standardcodierung für Ihre Daten korrekt ist. Bei Bedarf können Sie die Standardeinstellung mit dem Flag --encoding überschreiben.

Für den parallelen Export verwenden Sie das Flag -j NUM_CORES. NUM_CORES steht dabei für die Anzahl der Kerne auf der Quellinstanz. Verwenden Sie das gleiche Flag mit pg_restore für einen parallelen Import.

Weitere Informationen zu pg_dump finden Sie in der pg_dump-Referenz.

Fehlerbehebung

Klicken Sie auf die Links in der Tabelle, um weitere Informationen zu erhalten:

Problem Mögliche Ursache Lösungsvorschlag
Der Status des Vorgangs wird nicht angezeigt. Auf der Benutzeroberfläche wird nur Erfolg oder Fehler angezeigt. Verwenden Sie diese Datenbankbefehle, um mehr zu erfahren.
408 Error (Timeout) beim Exportieren. Der SQL-Export kann je nach Datenbankgröße und Exportinhalt lange dauern. Verwenden Sie mehrere CSV-Exporte, um die Größe der einzelnen Vorgänge zu reduzieren.
CSV-Export funktioniert, SQL-Export schlägt jedoch fehl. Beim SQL-Export treten mit größerer Wahrscheinlichkeit Kompatibilitätsprobleme mit Cloud SQL auf. Verwenden Sie CSV-Exporte, um nur das zu exportieren, was Sie benötigen.
Export dauert zu lange. Cloud SQL unterstützt keine gleichzeitigen synchronen Vorgänge. Verwenden Sie die Exportauslagerung. Weitere Informationen
Import dauert zu lange. Zu viele aktive Verbindungen können Importvorgänge beeinträchtigen. Schließen Sie nicht verwendete Verbindungen oder starten Sie die Cloud SQL-Instanz neu, bevor Sie einen Importvorgang starten.
Fehler beim Erstellen der Erweiterung. Die Dumpdatei enthält Verweise auf eine nicht unterstützte Erweiterung. Bearbeiten Sie zum Entfernen der Referenzen die Dumpdatei.
Fehler beim Verwenden von pg_dumpall. Für das Tool ist eine Superuser-Rolle erforderlich. Die Superuser-Rolle wird nicht unterstützt.
Beim Exportvorgang tritt vor dem Export eine Zeitüberschreitung auf. Die Abfrage muss innerhalb der ersten sieben Minuten Daten liefern. Führen Sie einen manuellen Export mit dem pg_dump-Tool durch.
Import schlägt fehl. Die exportierte Datei kann Datenbanknutzer enthalten, die noch nicht vorhanden sind. Erstellen Sie die Datenbanknutzer, bevor Sie den Import ausführen.
Verbindung während des Exportvorgangs getrennt. Die Abfrage muss innerhalb der ersten sieben Minuten Daten liefern. Testen Sie die Abfrage manuell. Weitere Informationen
Unbekannter Fehler beim Export. Mögliches Bandbreitenproblem. Die Instanz und der Cloud Storage-Bucket müssen sich in derselben Region befinden.
Sie möchten Exporte automatisieren. Cloud SQL bietet keine Möglichkeit, Exporte zu automatisieren. Erstellen Sie Ihre eigene Pipeline, um diese Funktion zu nutzen. Weitere Informationen
ERROR_RDBMS: system error occurred. Cloud Storage-Berechtigungen oder nicht vorhandene Tabelle. Prüfen Sie die Berechtigungen ODER ob die Tabelle vorhanden ist.

Der Status des Vorgangs wird nicht angezeigt

Sie können den Status eines laufenden Vorgangs nicht sehen.

Mögliche Ursache

Die Google Cloud Console meldet nur erfolgreiche oder fehlgeschlagene Vorgänge und gibt keine Warnungen zurück.

Lösungsvorschlag

Stellen Sie eine Verbindung zur Datenbank her und führen Sie SHOW WARNINGS aus.


Fehler 408: (Zeitüberschreitung) beim Export

Beim Ausführen eines Exportjobs in Cloud SQL ist die Fehlermeldung 408 Error (Timeout) zu sehen.

Mögliche Ursache

CSV- und SQL-Formate werden auf unterschiedliche Weise exportiert. Im SQL-Format wird die gesamte Datenbank exportiert, was wahrscheinlich länger dauert. Mit dem CSV-Format können Sie festlegen, welche Elemente der Datenbank in den Export einbezogen werden sollen.

Lösungsvorschlag

Verwenden Sie das CSV-Format und führen Sie mehrere kleinere Exportjobs aus, um die Größe und Länge der einzelnen Vorgänge zu reduzieren.


CSV-Export funktioniert, SQL-Export schlägt jedoch fehl

Der CSV-Export funktioniert, der SQL-Export schlägt jedoch fehl.

Mögliche Ursache

CSV- und SQL-Formate werden auf unterschiedliche Weise exportiert. Im SQL-Format wird die gesamte Datenbank exportiert, was wahrscheinlich länger dauert. Mit dem CSV-Format können Sie festlegen, welche Elemente der Datenbank in den Export einbezogen werden sollen.

Lösungsvorschlag

Verwenden Sie CSV-Exporte, um nur das zu exportieren, was Sie benötigen.


Export dauert zu lange

Der Export dauert zu lange und andere Vorgänge werden blockiert.

Mögliche Ursache

Cloud SQL unterstützt keine gleichzeitigen synchronen Vorgänge.

Lösungsvorschlag

Versuchen Sie, kleinere Datasets nacheinander zu exportieren.


Import dauert zu lange

Der Import dauert zu lange und blockiert andere Vorgänge.

Mögliche Ursache

Zu viele aktive Verbindungen können Importvorgänge beeinträchtigen. Verbindungen beanspruchen CPU und Arbeitsspeicher, was die verfügbaren Ressourcen begrenzt.

Lösungsvorschlag

Schließen Sie nicht verwendete Vorgänge. Prüfen Sie die CPU- und Arbeitsspeichernutzung, um dafür zu sorgen, dass genügend Ressourcen verfügbar sind. Die beste Methode, maximale Ressourcen für den Importvorgang zu gewährleisten, ist ein Neustart der Instanz vor Beginn des Vorgangs. Ein Neustart

  • beendet alle Verbindungen und
  • beendet alle Aufgaben, die möglicherweise Ressourcen nutzen.


Fehler beim Erstellen der Erweiterung

Die Fehlermeldung SET SET SET SET SET SET CREATE EXTENSION ERROR: must be owner of extension plpgsql wird angezeigt.

Mögliche Ursache

Beim Importieren eines PostgreSQL-Dumps und einer ähnlichen Fehlermeldung enthält die Dumpdatei Verweise auf plpgsql.

Lösungsvorschlag

Bearbeiten Sie die Dumpdatei und kommentieren Sie alle Zeilen mit Bezug zu plpgsql aus.


Fehler beim Verwenden von pg_dumpall

Sie erhalten eine Fehlermeldung, wenn Sie versuchen, das externe pg_dumpall-Befehlszeilentool zu verwenden.

Mögliche Ursache

Für dieses Tool ist die Rolle "Superuser" erforderlich.

Lösungsvorschlag

Cloud SQL ist ein verwalteter Dienst und gewährt Nutzern keine Superuser-Rollen oder -Berechtigungen.


Verbindung wurde von einem anderen Computer zurückgesetzt

Beim Export wird eine Zeitüberschreitung festgestellt, bevor etwas exportiert wird. Folgende Fehlermeldung ist zu sehen: Could not receive data from client: Connection reset by peer..

Mögliche Ursache

Wenn Cloud Storage innerhalb eines bestimmten Zeitraums keine Daten empfängt, wird die Verbindung zurückgesetzt.

Lösungsvorschlag

Führen Sie einen manuellen Export mit dem pg_dump-Tool durch.


Import schlägt fehl

Der Import schlägt fehl, wenn ein oder mehrere Nutzer, auf die in der exportierten SQL-Dumpdatei verwiesen wird, nicht vorhanden sind.

Mögliche Ursache

Vor dem Import eines SQL-Dumps müssen alle Datenbanknutzer vorhanden sein, die Inhaber von Objekten sind oder Berechtigungen für Objekte in der gespeicherten Datenbank erhalten haben. Andernfalls werden die Objekte mit den ursprünglichen Inhaberrechten und/oder Berechtigungen nicht wiederhergestellt.

Lösungsvorschlag

Erstellen Sie die Datenbanknutzer, bevor Sie den SQL-Dump importieren.


Verbindung während des Exportvorgangs getrennt

Die Verbindung wurde während des Exportvorgangs getrennt.

Mögliche Ursache

Bei der Verbindung zu Cloud Storage kann es zu einer Zeitüberschreitung kommen, da die im Export ausgeführte Abfrage innerhalb der ersten sieben Minuten nach dem Start des Exports keine Daten erzeugt.

Lösungsvorschlag

Testen Sie die Abfrage manuell. Stellen Sie dazu eine Verbindung von einem beliebigen Client aus her und senden Sie die Ausgabe der Abfrage mit dem folgenden Befehl an STDOUT:

COPY (INSERT_YOUR_QUERY_HERE) TO STDOUT WITH ( FORMAT csv, DELIMITER ',', ENCODING 'UTF8', QUOTE '"', ESCAPE '"' )

Dies ist das erwartete Verhalten, da der Client sofort nach dem Start des Exports mit dem Senden von Daten beginnen soll. Werden keine Daten gesendet, wird die Verbindung getrennt. Dies führt dazu, dass der Export fehlschlägt und der Vorgang in einem unsicheren Zustand bleibt. Dies ist auch in der Fehlermeldung von gcloud zu sehen:

operation is taking longer than expected


Unbekannter Fehler beim Export

Beim Exportieren einer Datenbank in einen Cloud Storage-Bucket ist die Fehlermeldung Unknown error zu sehen.

Mögliche Ursache

Die Übertragung kann aufgrund eines Bandbreitenproblems fehlschlagen.

Lösungsvorschlag

Die Cloud SQL-Instanz befindet sich möglicherweise in einer anderen Region als der Cloud Storage-Bucket. Das Lesen und Schreiben von Daten von einem Kontinent auf einen anderen verursacht eine hohe Netzwerkauslastung, wodurch zeitweise Probleme wie diese auftreten können. Prüfen Sie die Regionen Ihrer Instanz und Ihres Buckets.


Sie möchten Exporte automatisieren

Sie möchten Exporte automatisieren.

Mögliche Ursache

Cloud SQL bietet keine Möglichkeit, Exporte zu automatisieren.

Lösungsvorschlag

Sie können Ihr eigenes automatisiertes Exportsystem mit Google Cloud-Produkten wie Cloud Scheduler, Pub/Sub und Cloud Functions erstellen.


Systemfehler "ERROR_RDBMS"

Folgende Fehlermeldung ist zu sehen: [ERROR_RDBMS] system error occurred.

Mögliche Ursache

  • Der Nutzer hat eventuell nicht alle erforderlichen Cloud Storage-Berechtigungen.
  • Die Datenbanktabelle ist möglicherweise nicht vorhanden.

Lösungsvorschlag

  1. Prüfen Sie, ob Sie mindestens WRITER-Berechtigungen für den Bucket und READER-Berechtigungen für die Exportdatei haben. Weitere Informationen zum Konfigurieren der Zugriffssteuerung in Cloud Storage finden Sie unter Access Control Lists (ACLs) erstellen und verwalten.
  2. Prüfen Sie, ob die Tabelle vorhanden ist. Falls die Tabelle vorhanden ist, sollten Sie nachsehen, ob Sie die richtigen Berechtigungen für den Bucket haben.

Nächste Schritte