Risolvere i problemi di un upgrade in loco della versione principale

Questo documento descrive come risolvere i problemi che potresti riscontrare durante l'upgrade del database AlloyDB per PostgreSQL a una versione principale in loco. Per maggiori informazioni, vedi Eseguire l'upgrade di una versione principale del database sul posto. Per informazioni sugli errori di upgrade della versione principale in loco, consulta Errori di upgrade della versione principale del database in loco.

Per analizzare gli errori di upgrade, identifica la fase di upgrade non riuscita dalla risposta e utilizza le informazioni contenute in questo documento per identificare le possibili soluzioni.

AlloyDB convalida la tua 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 si trova nello 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 tentativi non vanno a buon fine, contatta l'assistenza Google Cloud.

Errori di controllo pre-upgrade di AlloyDB

Gli errori di controllo pre-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 di controllo pre-upgrade sono problemi rilevati da AlloyDB durante la fase di convalida pre-upgrade, che possono causare l'esito negativo dell'upgrade in loco della versione principale. Ad esempio, AlloyDB verifica le incompatibilità delle estensioni tra la versione principale attuale e quella di destinazione.

I messaggi di errore vengono inseriti in logs_url nella risposta dell'operazione di upgrade. Puoi visualizzare questi log andando a Esplora log nella console Google Cloud . Per ulteriori informazioni, vedi Visualizzare 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 in loco del database.

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

pg_upgrade check failures

PG_UPGRADE_CHECK verifica le violazioni utilizzando l'utilità standard pg_upgrade. Questo controllo dell'upgrade include le incoerenze dei dati derivanti da vari fattori, tra cui differenze nelle strutture dei dati specifiche della versione, alterazioni nella codifica e nel collation, 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:

Nome file 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 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 composti.

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 modifica 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.

pg_upgrade failures

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