Fehlerbehebung bei einem direkten Upgrade auf eine Hauptversion

In diesem Dokument wird beschrieben, wie Sie Probleme beheben, die beim direkten Upgrade Ihrer AlloyDB for PostgreSQL-Datenbank auf eine Hauptversion auftreten können. Weitere Informationen finden Sie unter Direktes Upgrade der Datenbank-Hauptversion durchführen. Informationen zu Fehlern bei direkten Hauptversions-Upgrades finden Sie unter Fehler bei direkten Hauptversions-Upgrades von Datenbanken.

Um Upgrade-Fehler zu analysieren, ermitteln Sie die fehlgeschlagene Upgrade-Phase aus der Antwort und verwenden Sie die Informationen in diesem Dokument, um mögliche Lösungen zu finden.

AlloyDB validiert Ihre Anfrage synchron und gibt eine Fehlermeldung zurück, wenn eine der folgenden Bedingungen zutrifft:

  • Die Anfrage ist ungültig. Das kann beispielsweise der Fall sein, wenn die angegebene Zielhauptversion nicht unterstützt wird oder kleiner oder gleich der aktuellen Hauptversion ist.
  • Die Clusterressourcen befinden sich in einem Zustand, in dem das Upgrade der Hauptversion nicht ausgelöst werden kann. Das kann beispielsweise der Fall sein, wenn sich der Cluster oder eine der zugehörigen Instanzen nicht im Status READY befindet.

Wenn die Anfrage gültig ist, kann die Umstellung aus folgenden Gründen fehlschlagen:

  • Vorabprüfungen, die in verschiedenen Phasen durchgeführt werden, können fehlschlagen. Das bedeutet, dass Verstöße erkannt wurden. Sie müssen diese Verstöße beheben, bevor Sie das Upgrade neu starten.
  • Bei internen Fehlern müssen Sie das Upgrade noch einmal versuchen. Wenn die Wiederholungsversuche fehlschlagen, wenden Sie sich an den Google Cloud-Support.

Fehler bei der Prüfung vor dem Upgrade von AlloyDB

Fehler bei der Prüfung vor dem Upgrade können in jeder der folgenden Phasen auftreten:

  • AlloyDB-Prüfungen vor dem Upgrade (ALLOYDB_PRECHECK)
  • pg_upgrade Prüfungen (PG_UPGRADE_CHECK)
  • Upgrades des primären Clusters (PRIMARY_INSTANCE_UPGRADE)

Fehler bei der Prüfung vor dem Upgrade sind Probleme, die AlloyDB während der Validierungsphase vor dem Upgrade erkennt und die dazu führen können, dass das direkte Upgrade der Hauptversion fehlschlägt. AlloyDB prüft beispielsweise auf Inkompatibilitäten zwischen der aktuellen und der Zielhauptversion.

Fehlermeldungen werden in der Antwort des Upgradevorgangs in logs_url ausgegeben. Sie können sich diese Logs ansehen, indem Sie in der Google Cloud Console zum Log-Explorer gehen. Weitere Informationen finden Sie unter Upgrade-Logs ansehen.

Informationen zu den Fehlern und den entsprechenden Fehlermeldungen, die in den Logs angezeigt werden können, finden Sie unter Fehler beim direkten Upgrade der Datenbank-Hauptversion.

Das Folgende ist ein Beispiel für die Zusammenfassung, die in den Logs durch AlloyDB-Prüfungen vor dem Upgrade generiert wird:

Total number of databases checked for custom checks: 3
Total number of databases containing pg_largeobject: 0
Total number of databases containing event triggers permissions issue: 0
Total number of databases containing extensions compatibility violation: 1
Total number of databases containing search path violations: 0

Fehler bei pg_upgrade-Prüfungen

Mit PG_UPGRADE_CHECK wird mit dem Standarddienstprogramm pg_upgrade nach Verstößen gesucht. Diese Upgrade-Prüfung umfasst Dateninkonsistenzen, die sich aus verschiedenen Faktoren ergeben, einschließlich Unterschiede bei versionsspezifischen Datenstrukturen, Änderungen bei der Codierung und Sortierung, Änderungen an Datentypen und Anpassungen am Systemkatalog.

Mehrere Dateien, z. B. tables_with_oids.txt und tables_using_reg.txt, die während pg_upgrade generiert werden, werden in die Logdatei postgres_upgrade exportiert. Sie können diese Dateien mit dem Label labels.FILE_NAME filtern.

Folgende Dateinamen enthalten möglicherweise Fehler, die behoben werden sollten:

Dateiname Beschreibung

tables_with_oids.txt

Diese Datei enthält Tabellen, die mit Objekt-IDs (OIDs) aufgeführt sind. Löschen Sie die Tabellen oder ändern Sie sie so, dass sie keine OIDs verwenden.

tables_using_composite.txt

Diese Datei enthält Tabellen, die mit vom System definierten zusammengesetzten Typen aufgelistet werden. Löschen Sie die Tabellen oder ändern Sie sie so, dass sie diese zusammengesetzten Typen nicht verwenden.

tables_using_unknown.txt

Diese Datei enthält Tabellen, die mit dem Datentyp UNKNOWN aufgelistet werden. Löschen Sie die Tabellen oder ändern Sie sie so, dass sie diesen Datentyp nicht verwenden.

tables_using_sql_identifier.txt

Diese Datei enthält Tabellen, die mit dem Datentyp SQL_IDENTIFIER aufgelistet werden. Löschen Sie die Tabellen oder ändern Sie sie so, dass sie diesen Datentyp nicht verwenden.

tables_using_reg.txt

Diese Datei enthält Tabellen, die mithilfe des Datentyps REG* aufgelistet werden, z. B. REGCOLLATION oder REGNAMESPACE. Löschen Sie die Tabellen oder ändern Sie sie so, dass sie diesen Datentyp nicht verwenden.

postfix_ops.txt

Diese Datei enthält Tabellen, die mit postfix-Operatoren (rechts-unär) aufgelistet sind. Löschen Sie die Tabellen oder ändern Sie sie so, dass sie diese Operatoren nicht verwenden.

Fehler bei pg_upgrade

Die Struktur von PG_UPGRADE-Logs ähnelt der Struktur von PG_UPGRADE_CHECK-Logs.

Das folgende Beispiel zeigt ein Protokoll mit dem Label labels.FILE_NAME=pg_upgrade_dump*.log::

pg_upgrade_dump: error: query failed: ERROR: out of shared memory
HINT: You might need to increase max_locks_per_transaction.

Nächste Schritte