Risolvi i problemi relativi a un upgrade in loco della versione principale

Per diagnosticare e risolvere i problemi che si verificano durante un upgrade della versione principale in loco del cluster AlloyDB per PostgreSQL, identifica la fase di upgrade non riuscita nella risposta dell'operazione e risolvi eventuali violazioni dei controlli pre-upgrade. Per istruzioni dettagliate sull'upgrade, consulta Esegui l'upgrade della versione principale di un database in loco. Per messaggi di errore e soluzioni alternative specifici, consulta Errori di upgrade della versione principale del database in loco.

AlloyDB convalida la richiesta in modo sincrono e restituisce un messaggio di errore se si verifica una delle seguenti condizioni:

  • La richiesta non è valida. Ad esempio, se la versione principale di destinazione fornita non è supportata o è inferiore o uguale alla versione principale attuale.
  • Le risorse del cluster si trovano in uno stato in cui non è possibile attivare l'upgrade della versione principale. Ad esempio, se il cluster o una delle istanze associate non sono in stato READY.

Se la richiesta è valida, l'upgrade potrebbe non riuscire per i seguenti motivi:

  • I controlli pre-upgrade eseguiti in varie fasi possono non riuscire, il che indica che sono state rilevate violazioni. Devi risolvere queste violazioni prima di riavviare l'upgrade.
  • Gli errori interni indicano che devi riprovare l'upgrade. Se i nuovi tentativi non vanno a buon fine, contatta l'assistenza clienti Google Cloud.

Errori dei controlli preliminari per l'upgrade di AlloyDB

Gli errori dei controlli preliminari per l'upgrade possono verificarsi in una delle seguenti fasi:

  • Controlli pre-upgrade di AlloyDB (ALLOYDB_PRECHECK)
  • pg_upgrade controlli (PG_UPGRADE_CHECK)
  • Upgrade del cluster principale (PRIMARY_INSTANCE_UPGRADE)

Gli errori dei controlli pre-upgrade sono problemi rilevati da AlloyDB durante la fase di convalida pre-upgrade, che possono causare l'errore dell'upgrade della versione principale in loco. Ad esempio, AlloyDB verifica la presenza di incompatibilità delle estensioni tra la versione principale attuale e quella di destinazione.

I messaggi di errore vengono inseriti nel campo logs_url nella risposta dell'operazione di upgrade. Puoi visualizzare questi log andando a Esplora log nella console Google Cloud . Per saperne di più, consulta Visualizza i log di upgrade.

Per visualizzare gli errori e i messaggi di errore corrispondenti che potresti visualizzare nei log, consulta Errori di upgrade della versione principale del database in loco.

Di seguito è riportato un esempio del riepilogo generato nei log dai controlli pre-upgrade di AlloyDB:

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

Errori dei controlli pg_upgrade

PG_UPGRADE_CHECK verifica la presenza di violazioni utilizzando l'utilità pg_upgrade standard. Questo controllo dell'upgrade include le incoerenze dei dati derivanti da vari fattori, tra cui differenze nelle strutture dei dati specifiche della versione, modifiche alla codifica e alla regole di confronto, modifiche ai tipi di dati e aggiustamenti al catalogo di sistema.

Più file, come tables_with_oids.txt e tables_using_reg.txt, che vengono generati durante pg_upgrade, vengono esportati nel file di log postgres_upgrade. Puoi filtrare questi file utilizzando l'etichetta labels.FILE_NAME.

I nomi file che potrebbero contenere errori da risolvere includono:

Filename Descrizione

tables_with_oids.txt

Questo file contiene tabelle elencate con identificatori di oggetti (OID). Elimina le tabelle o modificale in modo che non utilizzino gli OID.

tables_using_composite.txt

Questo file contiene tabelle elencate utilizzando tipi compositi definiti dal sistema. Elimina le tabelle o modificale in modo che non utilizzino questi tipi compositi.

tables_using_unknown.txt

Questo file contiene tabelle elencate utilizzando il tipo di dati UNKNOWN. Elimina le tabelle o modificale in modo che non utilizzino questo tipo di dati.

tables_using_sql_identifier.txt

Questo file contiene tabelle elencate utilizzando il tipo di dati SQL_IDENTIFIER. Elimina le tabelle o modificale in modo che non utilizzino questo tipo di dati.

tables_using_reg.txt

Questo file contiene tabelle elencate utilizzando il tipo di dati REG*, ad esempio REGCOLLATION o REGNAMESPACE. Elimina le tabelle o modificale in modo che non utilizzino questo tipo di dati.

postfix_ops.txt

Questo file contiene tabelle elencate utilizzando operatori postfix (unari a destra). Elimina le tabelle o modificale in modo che non utilizzino questi operatori.

Errori di pg_upgrade

La struttura dei log PG_UPGRADE è simile a quella dei log PG_UPGRADE_CHECK.

Di seguito è riportato un esempio di log con l'etichetta 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.

Passaggi successivi