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 der direkten Datenbankaktualisierung finden Sie unter Fehler bei der direkten Datenbankaktualisierung.

Um Upgradefehler zu analysieren, ermitteln Sie anhand der Antwort die fehlgeschlagene Upgradephase 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 ist beispielsweise der Fall, wenn die angegebene Hauptversion nicht unterstützt wird oder kleiner oder gleich der aktuellen Hauptversion ist.
  • Die Clusterressourcen befinden sich in einem Status, in dem das Upgrade der Hauptversion nicht ausgelöst werden kann. Beispielsweise, wenn der Cluster oder eine der zugehörigen Instanzen nicht den Status READY hat.

Wenn der Antrag gültig ist, kann die Umstellung aus den folgenden Gründen fehlschlagen:

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

Fehler bei der Prüfung vor dem Upgrade für AlloyDB

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

  • Vor dem Upgrade erforderliche AlloyDB-Prüfungen (ALLOYDB_PRECHECK)
  • pg_upgrade Prüfungen (PG_UPGRADE_CHECK)
  • Primäre Cluster-Upgrades (PRIMARY_INSTANCE_UPGRADE)

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

Fehlermeldungen werden in der Antwort des Upgradevorgangs in logs_url eingefügt. Sie können sich diese Logs in der Google Cloud Console im Log-Explorer ansehen. Weitere Informationen finden Sie unter Upgrade-Logs ansehen.

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

Im Folgenden finden Sie ein Beispiel für die Zusammenfassung, die in den Protokollen durch die Vorabprüfungen von AlloyDB generiert wird:

Total number of databases checked for custom checks: 
Total number of databases containing pg_largeobject: 
Total number of databases containing extensions compatibility violation: 

Fehler bei der pg_upgrade-Prüfung

PG_UPGRADE_CHECK prüft mit dem standardmäßigen pg_upgrade-Dienstprogramm auf Verstöße. Diese Upgradeprü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 wie tables_with_oids.txt und tables_using_reg.txt, die während pg_upgrade generiert werden, werden in 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 sind. 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 sind. 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 dem Datentyp 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.

pg_upgrade-Fehler

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

Im folgenden Beispiel wird ein Protokoll mit dem Label labels.FILE_NAME=pg_upgrade_dump*.log: verwendet.

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

Nächste Schritte