Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo contiene i numeri di messaggio di errore e la relativa descrizione per la convalida della premigration.
Le tabelle seguenti forniscono un elenco completo dei codici di errore per la funzionalità del servizio di migrazione in Database di Azure per PostgreSQL. Questi codici di errore consentono di risolvere i problemi durante il processo di migrazione. Ogni codice di errore include un messaggio di errore e altri dettagli che forniscono ulteriore contesto e indicazioni per la risoluzione del problema.
Timeout della connessione
Sintomi
Gli errori di migrazione spesso si manifestano tramite messaggi di errore che indicano problemi di connettività. Questi problemi possono verificarsi durante il processo di trasferimento dei dati. Quando si verificano errori di questo tipo, vengono generati i messaggi di errore seguenti:
- server ha chiuso la connessione in modo imprevisto
- Errore SSL SYSCALL: EOF rilevato
- EOF imprevisto nella connessione client
- non è stato possibile ricevere dati dal client: reimpostazione della connessione tramite peer
Causa
La causa sottostante per questi sintomi è un connection timeout. Ciò si verifica in genere quando il server o il client prevede di ricevere dati entro un determinato intervallo di tempo, ma non vengono inviati o ricevuti dati, causando il timeout della connessione. I motivi specifici per un timeout della connessione possono variare, ma i fattori comuni includono la congestione della rete, le impostazioni di rete configurate in modo errato o le impostazioni di timeout eccessivamente aggressive.
Nel contesto del servizio di migrazione in Database di Azure per PostgreSQL, un timeout di connessione tra l'origine e il servizio di migrazione o tra il servizio di migrazione e la destinazione può interrompere il processo di trasferimento dei dati, causando i sintomi descritti in precedenza.
Risoluzione
Per risolvere i problemi di timeout della connessione, modificare i parametri TCP nei server di origine e di destinazione come indicato di seguito:
tcp_keepalives_idle=10tcp_keepalives_interval=10tcp_keepalives_count=60
Queste impostazioni consentono di mantenere la connessione inviando probe keepalive per evitare timeout a causa dell'inattività. Importante, la modifica di questi parametri TCP non richiede un riavvio delle istanze di origine o di destinazione di PostgreSQL. Le modifiche possono essere applicate in modo dinamico, consentendo una continuazione senza interruzioni delle operazioni del database.
Connessione terminata a causa del timeout inattiva della transazione
Sintomi
- Il servizio migrazione rileva un messaggio di terminazione della connessione.
- I log visualizzano l'errore:
terminating connection due to idle-in-transaction timeout.
Causa
Questo errore si verifica quando una connessione al database rimane inattiva all'interno di una transazione per più tempo del valore specificato nel idle_in_transaction_timeout parametro . PostgreSQL termina automaticamente tali connessioni per evitare problemi di blocco delle risorse.
Risoluzione
- Impostare il
idle_in_transaction_timeoutparametro su0per disabilitare il timeout durante il processo di migrazione. - Comando di esempio per applicare questa impostazione:
ALTER SYSTEM SET idle_in_transaction_timeout = 0;
- Assicurarsi di reimpostare questo parametro sul valore originale dopo la migrazione per mantenere le prestazioni del database e impedire connessioni inattive prolungate.
Esaurimento memoria condivisa
Sintomi
Il processo di migrazione si interrompe in modo imprevisto. I log visualizzano l'errore: out of shared memory.
Causa
Questo errore indica che PostgreSQL ha esaurito la memoria condivisa allocata per i blocchi. In genere si verifica quando il processo di migrazione comporta molti blocchi oltre l'impostazione corrente del parametro max_locks_per_transaction.
Risoluzione
- Aumentare il valore del
max_locks_per_transactionparametro per contenere gli altri blocchi necessari durante il processo di migrazione. - Comando di esempio per modificare questa impostazione:
ALTER SYSTEM SET max_locks_per_transaction = <<>>; - Assicurarsi che,
max_locks_per_transaction * max_connections > Number of tables + Number of indexes - Se il problema persiste, prendere in considerazione l'aumento del parametro shared_buffers per garantire la disponibilità di memoria condivisa sufficiente per la gestione dei blocchi.
Codici di errore di migrazione
| Codice di errore | Error message | Risoluzione |
|---|---|---|
| 603000 | Connessione non riuscita. La connessione al server {serverName} non è riuscita. Assicurarsi che il server di origine sia raggiungibile dal server di destinazione o dal server di runtime. |
Fare riferimento alla Guida alla rete per il debug dei problemi di connettività. |
| 603001 | Errore di configurazione SSL. Il server {serverName} non supporta SSL. Controllare le impostazioni SSL. Impostare la modalità SSL per preferire e ripetere la migrazione. |
Fare riferimento alla Guida alla rete per il debug dei problemi di connettività. |
| 603100 | Autenticazione non riuscita. La password per il server {serverName} non è corretta. Immettere la password corretta e ripetere la migrazione. |
N/D |
| 603101 | Il database esiste nella destinazione. Il database {dbName} esiste nel server di destinazione. Verificare che il server di destinazione non disponga del database e riprovare a eseguire la migrazione. |
N/D |
| 603102 | Database di origine mancante. Il database {dbName} non esiste nel server di origine. Specificare un database valido e ripetere la migrazione. |
N/D |
| 603103 | Ruolo Microsoft Entra mancante. Ruolo {roleNames} Microsoft Entra mancante nel server di destinazione. Creare il ruolo Entra e ripetere la migrazione. |
N/D |
| 603104 | Ruolo replica mancante. L'utente {0} non ha il ruolo di replica nel server {1}. Concedere il ruolo di replica prima di riprovare a eseguire la migrazione. |
Usare ALTER ROLE <rolename> WITH REPLICATION; per concedere l'autorizzazione richiesta. |
| 603105 | Errore delle impostazioni GUC. Slot di replica insufficienti nel server di origine per la migrazione. Aumentare il max_replication_slots parametro GUC a {0} o superiore. |
Il server di origine non dispone di slot di replica sufficienti per eseguire la migrazione online. Usare questa query SELECT * FROM pg_replication_slots WHERE active = false AND slot_type = 'logical'; per ottenere l'elenco degli slot di replica inattivi e eliminarli usando SELECT pg_drop_replication_slot('slot_name'); prima di avviare la migrazione. In alternativa, impostare il parametro server 'max_replication_slots' su {0} o versione successiva. Assicurarsi che il max_wal_senders parametro sia stato modificato anche in modo che sia maggiore o uguale a max_replication_slots' parameter. |
| 603106 | Errore delle impostazioni GUC. Il max_wal_senders parametro GUC è impostato su {0}. Assicurarsi che corrisponda o superi il valore "max_replication_slots". |
N/D |
| 603107 | Errore delle impostazioni GUC. Il parametro del livello WAL del server di origine è impostato su {0}. Impostare il livello WAL del parametro GUC su 'logical'. |
N/D |
| 603108 | Estensioni consentite elenco elementi obbligatori. Non è stato possibile installare le estensioni {0} nel server di destinazione perché non sono consentite. Consenti l'elenco di estensioni e riprovare la migrazione. |
Impostare l'elenco di elementi consentiti seguendo i passaggi indicati in Estensioni PostgreSQL. |
| 603109 | Errore di configurazione delle librerie di precaricamento condiviso. Aggiungere le estensioni consentite {0} a "shared_preload_libraries" nel server di destinazione e ripetere la migrazione. |
Impostare le librerie di precaricamento condiviso seguendo i passaggi indicati in Estensioni PostgreSQL. Ciò richiede un riavvio del server. |
| 603110 | Privilegi insufficienti. L'utente di migrazione non dispone delle autorizzazioni necessarie per l'accesso al database. Assicurarsi che l'utente di migrazione sia proprietario dei database di origine e abbia privilegi di lettura e scrittura e riprovare la migrazione. | N/D |
| 603111 | Pulizia del database di destinazione non riuscita. Impossibile terminare le connessioni attive nel database di destinazione durante la fase di premigration. Concedere pg_signal_backend ruolo all'utente di migrazione e ripetere la migrazione. | Aggiungere pg_signal_backend ruolo all'utente di migrazione usando il comando 'GRANT pg_signal_backend a <migration_user>' |
| 603112 | Errore di impostazioni GUC. Impossibile impostare default_transaction_read_only parametro GUC su off. Assicurarsi che l'accesso in scrittura dell'utente sia impostato correttamente e ripetere la migrazione. | Impostare 'default_transaction_read_only' su OFF nel server di origine tramite portale di Azure o tramite il comando psql(ad esempio, ALTER SYSTEM SET default_transaction_read_only = off). |
| 603113 | Errore di cutover. Non è possibile avviare il cutover per il database '{dbName}' perché la migrazione è già stata con lo stato Completato/Non riuscito/Annullato. | N/D |
| 603114 | Errore di cutover. Non è possibile avviare il cutover per il database '{dbName}' per la modalità di migrazione offline. | N/D |
| 603115 | Privilegi utente mancanti. L'utente di migrazione '{0}' non è membro di azure_pg_admin ruolo. Aggiungere i privilegi necessari nel server di destinazione e ripetere la migrazione. | N/D |
| 603116 | Privilegi utente mancanti. L'utente di migrazione '{0}' non ha il privilegio di creazione del ruolo. Aggiungere i privilegi necessari nel server di destinazione e ripetere la migrazione. | Eseguire query ALTER ROLE <rolename> WITH CREATEROLE; nel server di destinazione. |
| 603117 | Privilegi utente mancanti. L'utente di migrazione '{0}' non dispone dei privilegi necessari per eliminare il database '{dbName}' nel server di destinazione. Eliminare manualmente il database dal server di destinazione e ripetere la migrazione. | N/D |
| 603400 | Versione di origine non supportata. La migrazione delle versioni di PostgreSQL seguenti {0} non è supportata. |
È necessario usare un altro metodo di migrazione. |
| 603401 | Mancata corrispondenza delle regole di confronto. Le regole {0} di confronto nel database {1} non sono presenti nel server di destinazione. |
N/D |
| 603402 | Mancata corrispondenza delle regole di confronto. Le regole {0} di confronto per la tabella {1} nella colonna {2} non sono presenti nel server di destinazione. |
Contattare il supporto tecnico Microsoft per aggiungere le regole di confronto necessarie. |
| 603403 | Mancata corrispondenza delle regole di confronto. Il database di origine contiene regole di confronto definite dall'utente. Eliminare queste regole di confronto e ripetere la migrazione. | N/D |
| 603404 | Rilevati ID non supportati. Tabelle con 'WITH OID' rilevate nel database {0}. Non sono supportati in PostgreSQL versione 12 e successive. |
Vedere Le note sulla versione di PostgreSQL. |
| 603405 | Estensioni non supportate. Il servizio di migrazione non supporta la migrazione dei database con {0} estensioni nel server di destinazione. |
N/D |
| 603406 | Estensioni non supportate. PostgreSQL di destinazione {0} supporta POSTGIS versione 3.2.3, che non è compatibile con l'origine.{1} |
Consigliare l'aggiornamento del server di destinazione alla versione 11. Vedere Modifiche che causano un'interruzione postGIS. |
| 603407 | Errore dello schema dell'estensione. Le estensioni {0} che si trovano nello schema di sistema nel server di origine non sono supportate nel server di destinazione. Eliminare e ricreare le estensioni in uno schema non di sistema, quindi ripetere la migrazione. |
Visitare le estensioni PostgreSQL. |
| 603408 | Estensioni non supportate. Il server di destinazione versione 16 non supporta {0} le estensioni. Eseguire la migrazione alla versione 15 o successiva, quindi eseguire l'aggiornamento dopo aver supportato le estensioni. |
N/D |
| 603409 | Cast definiti dall'utente presenti. Il database {0} di origine contiene cast definiti dall'utente di cui non è possibile eseguire la migrazione al server di destinazione. |
N/D |
| 603410 | Errore di autorizzazione della tabella di sistema. Gli utenti hanno accesso a tabelle di sistema come pg_authid e pg_shadow di cui non è possibile eseguire la migrazione alla destinazione. Revocare queste autorizzazioni e ripetere la migrazione. | La convalida delle autorizzazioni predefinite concesse a pg_catalog tabelle/viste (ad esempio pg_authid e pg_shadow) è essenziale. Tuttavia, queste autorizzazioni non possono essere assegnate alla destinazione. In particolare, l'utente dispone {2} delle autorizzazioni, mentre l'utente {1}{3} detiene {4} le autorizzazioni. Per una soluzione alternativa, visitare Utente, ruoli e autorizzazioni |
| 603413 | Lingue non supportate. Il servizio di migrazione non supporta la migrazione dei database con {0} lingue nel server di destinazione. Rimuovere i linguaggi e le relative funzioni implementate. |
Il server di destinazione non supporta le lingue non supportate. Provare a disabilitare o rimuovere la rispettiva lingua nel server di origine prima di eseguire la migrazione al server di destinazione. |
| 603700 | Pulizia del database di destinazione non riuscita. Impossibile terminare le connessioni attive nel database di destinazione durante la fase di pre-migrazione/post-migrazione. | N/D |
| 603701 | Errore interno del server. Impossibile creare ruoli nel server di destinazione. | Per ulteriori analisi, contattare il supporto tecnico Microsoft. |
| 603702 | Errore interno del server. Impossibile eseguire il dump dei ruoli dal server di origine. | Per ulteriori analisi, contattare il supporto tecnico Microsoft. |
| 603703 | Errore interno del server. Impossibile modificare il file di dump del ruolo globale. | Per ulteriori analisi, contattare il supporto tecnico Microsoft. |
| 603704 | Errore interno del server. Impossibile impostare tutti i ruoli di origine come membro dell'utente di migrazione di destinazione. | Per ulteriori analisi, contattare il supporto tecnico Microsoft. |
| 603705 | Errore interno del server. Non è stato possibile ripristinare le concessioni o le revoca. | Per ulteriori analisi, contattare il supporto tecnico Microsoft. |
| 603706 | Errore interno del server. Impossibile pulire l'utente di migrazione del server di destinazione. L'utente di migrazione di destinazione può far parte di più ruoli. Rimuovere tutti i ruoli non necessari dall'utente di migrazione del server di destinazione e ripetere la migrazione. | Per ulteriori analisi, contattare il supporto tecnico Microsoft. |
| 603707 | Errore interno del server. Impossibile concedere azure_pg_admin all'utente amministratore del server di origine. | Per ulteriori analisi, contattare il supporto tecnico Microsoft. |
| 603708 | Errore interno del server. Impossibile modificare il proprietario dello schema pubblico in azure_pg_admin nel database '{dbName}'. Modificare il proprietario dello schema pubblico in azure_pg_admin manualmente e ripetere la migrazione. | Per ulteriori analisi, contattare il supporto tecnico Microsoft. |
| 603709 | L'installazione della migrazione non è riuscita. | Per ulteriori analisi, contattare il supporto tecnico Microsoft. |