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_upgradecontrolli (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 |
|---|---|
|
Questo file contiene tabelle elencate con identificatori di oggetti (OID). Elimina le tabelle o modificale in modo che non utilizzino gli OID. |
|
Questo file contiene tabelle elencate utilizzando tipi compositi definiti dal sistema. Elimina le tabelle o modificale in modo che non utilizzino questi tipi compositi. |
|
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. |
|
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. |
|
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. |
|
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
- Scopri di più sugli errori di upgrade della versione principale del database in loco.
- Scopri come eseguire l'upgrade della versione principale del database in loco.