Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln innehåller felmeddelandenummer och deras beskrivningar för validering före migrering.
Följande tabeller innehåller en omfattande lista över felkoder för migreringstjänstens funktion i Azure Database for PostgreSQL. Dessa felkoder hjälper dig att felsöka och lösa problem under migreringsprocessen. Varje felkod har ett felmeddelande och annan information som ger ytterligare kontext och vägledning för att lösa problemet.
Tidsgränser för anslutning
Symtom
Migreringsfel visas ofta via felmeddelanden som indikerar anslutningsproblem. Dessa problem kan uppstå under dataöverföringsprocessen. När sådana fel inträffar resulterar de i följande felmeddelanden:
- servern stängde anslutningen oväntat
- SSL SYSCALL-fel: EOF har identifierats
- oväntad EOF vid klientanslutning
- kunde inte ta emot data från klienten: anslutningen återställdes av motparten
Orsak
Den underliggande orsaken till dessa symtom är en connection timeout. Detta inträffar vanligtvis när servern eller klienten förväntar sig att ta emot data inom en viss tidsram, men inga data skickas eller tas emot, vilket leder till tidsgränsen för anslutningen. De specifika orsakerna till en tidsgräns för anslutningen kan variera, men vanliga faktorer är överbelastning i nätverket, felkonfigurerade nätverksinställningar eller alltför aggressiva tidsgränsinställningar.
I samband med migreringstjänsten i Azure Database for PostgreSQL kan en tidsgräns för anslutningen mellan källan och migreringstjänsten eller mellan migreringstjänsten och målet avbryta dataöverföringsprocessen, vilket resulterar i de symptom som beskrivs ovan.
Åtgärd
Om du vill åtgärda problem med tidsgränsen för anslutningen justerar du TCP-parametrarna på både käll- och målservrarna enligt följande:
tcp_keepalives_idle=10tcp_keepalives_interval=10tcp_keepalives_count=60
De här inställningarna hjälper till att bibehålla anslutningen genom att skicka keepalive-signaler för att undvika tidsgränser på grund av inaktivitet. Att ändra dessa TCP-parametrar kräver inte någon omstart av postgreSQL-käll- eller målinstanserna. Ändringar kan tillämpas dynamiskt, vilket möjliggör en sömlös fortsättning av tjänsten utan att avbryta databasåtgärderna.
Anslutningen avslutades på grund av tidsgränsen för inaktivitet i transaktionen
Symtom
- Migreringstjänsten stöter på ett meddelande om anslutningsavslut.
- Loggar visar felet:
terminating connection due to idle-in-transaction timeout.
Orsak
Det här felet uppstår när en databasanslutning förblir inaktiv i en transaktion längre än det värde som anges i parametern idle_in_transaction_timeout . PostgreSQL avslutar automatiskt sådana anslutningar för att undvika problem med resurslåsning.
Åtgärd
- Ange parametern
idle_in_transaction_timeouttill0för att inaktivera tidsgränsen under migreringsprocessen. - Exempelkommando för att tillämpa den här inställningen:
ALTER SYSTEM SET idle_in_transaction_timeout = 0;
- Se till att återställa den här parametern till det ursprungliga värdet efter migreringen för att upprätthålla databasprestanda och förhindra långvariga inaktiva anslutningar.
Uttömning av delat minne
Symtom
Migreringsprocessen stoppas oväntat. Loggar visar felet: out of shared memory.
Orsak
Det här felet anger att PostgreSQL har förbrukat det delade minne som allokerats för lås. Det inträffar vanligtvis när migreringsprocessen omfattar många lås utöver den aktuella inställningen för parametern max_locks_per_transaction.
Åtgärd
- Öka värdet för parametern
max_locks_per_transactionför att hantera de andra lås som krävs under migreringsprocessen. - Exempelkommando för att ändra den här inställningen:
ALTER SYSTEM SET max_locks_per_transaction = <<>>; - Se till att,
max_locks_per_transaction * max_connections > Number of tables + Number of indexes - Om problemet kvarstår bör du överväga att öka parametern shared_buffers för att säkerställa att tillräckligt med delat minne är tillgängligt för låshantering.
Användning av CREATE TYPE
Symtom
Migreringsprocessen stoppas oväntat. Loggar visar felet: pg_restore: error: could not execute query: ERROR: must be superuser to create a base type .
Orsak
Om du vill skapa en ny bastyp måste du vara en superanvändare (den här begränsningen görs eftersom en felaktig typdefinition kan förvirra eller till och med krascha servern).
Åtgärd
- Anpassad bastyp måste tas bort och/eller ersättas av en identifierad bastyp.
- Mer information finns här.
Felkoder för migrering
| Felkod | Felmeddelande | Åtgärd |
|---|---|---|
| 603000 | Anslutningen misslyckades. Anslutningen till servern {serverName} misslyckades. Kontrollera att källservern kan nås från mål- eller körningsservern. |
Läs nätverksguiden för felsökning av anslutningsproblem. |
| 603001 | SSL-konfigurationsfel. Servern {serverName} stöder inte SSL. Kontrollera SSL-inställningarna. Ställ in SSL-läget på prefer och försök migrera igen. |
Läs nätverksguiden för felsökning av anslutningsproblem. |
| 603100 | Autentiseringen misslyckades. Lösenordet för servern {serverName} är felaktigt. Ange rätt lösenord och försök migreringen igen. |
Ej tillämpligt |
| 603101 | Databasen finns i målet. Databasen {dbName} finns på målservern. Kontrollera att målservern inte har databasen och försök migreringen igen. |
Ej tillämpligt |
| 603102 | Källdatabas saknas. Databasen {dbName} finns inte på källservern. Ange en giltig databas och försök migreringen igen. |
Ej tillämpligt |
| 603103 | Microsoft Entra-roll saknas. Microsoft Entra-rollen {roleNames} saknas på målservern. Skapa Entra-rollen och försök migreringen igen. |
Ej tillämpligt |
| 603104 | Replikeringsroll saknas. Användaren {0} har inte replikeringsrollen på servern {1}. Bevilja replikeringsrollen innan du försöker migrera igen. |
Använd ALTER ROLE <rolename> WITH REPLICATION; för att bevilja den behörighet som krävs. |
| 603105 | Fel i GUC-inställningar. Otillräckligt med replikeringsplatser på källservern för migrering. Öka GUC-parametern max_replication_slots till {0} eller högre. |
Källservern har inte tillräckligt med tillgängliga replikeringsplatser för att utföra onlinemigrering. Använd den här frågan SELECT * FROM pg_replication_slots WHERE active = false AND slot_type = 'logical'; för att hämta en lista över inaktiva replikeringsplatser och ta bort dem med SELECT pg_drop_replication_slot('slot_name'); innan du påbörjar migreringen. Du kan också ange parametern "max_replication_slots" till {0} eller högre. Kontrollera att parametern max_wal_senders också ändras till större än eller lika med max_replication_slots' parameter. |
| 603106 | Fel i GUC-inställningar.
max_wal_senders GUC-parametern är inställd på {0}. Kontrollera att den matchar eller överskrider värdet "max_replication_slots". |
Ej tillämpligt |
| 603107 | Fel i GUC-inställningar. Parametern WAL-nivå för källservern är inställd på {0}. Ange GUC-parametern WAL-nivå till "logisk". |
Ej tillämpligt |
| 603108 | Listan över tillåtna tillägg krävs.
{0} Det gick inte att installera tillägg på målservern eftersom de inte är tillåtna. Lägg till tilläggen i listan över tillåtna objekt och försök att migrera igen. |
Ange listan över tillåtna genom att följa stegen som anges i PostgreSQL-tillägg. |
| 603109 | Konfigurationsfel för delade förinläsningsbibliotek. Lägg till tillåtna {0} tillägg till "shared_preload_libraries" på målservern och försök migreringen igen. |
Ange de delade förinläsningsbiblioteken genom att följa stegen i PostgreSQL-tillägg. Detta kräver en omstart av servern. |
| 603110 | Otillräcklig behörighet. Migreringsanvändare saknar nödvändiga behörigheter för databasåtkomst. Kontrollera att migreringsanvändaren är ägare till källdatabaser och har både läs- och skrivbehörighet och försök migreringen igen. | Ej tillämpligt |
| 603111 | Det gick inte att rensa måldatabasen. Det går inte att avsluta aktiva anslutningar i måldatabasen under förmigrationsfasen. Tilldela migreringsanvändaren pg_signal_backend-rollen och försök att köra migreringen igen. | Lägg till rollen pg_signal_backend till migreringsanvändaren med kommandot 'GRANT pg_signal_backend to <migration_user>' |
| 603112 | GUC-inställningsfel. Det gick inte att ange default_transaction_read_only GUC-parametern till av. Kontrollera att användarens skrivåtkomst är korrekt inställd och försök utföra migreringen igen. | Ställ in "default_transaction_read_only" på AV på källservern via Azure Portal eller via psql-kommandot (till exempel ALTER SYSTEM SET default_transaction_read_only = off). |
| 603113 | Fel vid övergång. Cutover kan inte initieras för databasen {dbName} eftersom migreringen redan har statusen Slutförd/Misslyckad/Avbrytd. | Ej tillämpligt |
| 603114 | Fel vid övergång. Cutover kan inte initieras för databasen '{dbName}' i migreringsläget offline. | Ej tillämpligt |
| 603115 | Användarbehörighet saknas. Migreringsanvändaren{0} är inte medlem i azure_pg_admin roll. Lägg till nödvändiga behörigheter på målservern och försök migreringen igen. | Ej tillämpligt |
| 603116 | Användarbehörighet saknas. Migreringsanvändaren{0} har inte behörigheten skapa roll. Lägg till nödvändiga behörigheter på målservern och försök migreringen igen. | Kör frågan ALTER ROLE <rolename> WITH CREATEROLE; på målservern. |
| 603117 | Användarbehörighet saknas. Migreringsanvändaren{0} saknar nödvändiga behörigheter för att ta bort databasen {dbName} på målservern. Ta bort databasen manuellt från målservern och försök migreringen igen. | Ej tillämpligt |
| 603400 | Källversionen stöds inte. Migrering av PostgreSQL-versioner nedan {0} stöds inte. |
Du måste använda en annan migreringsmetod. |
| 603401 | Matchningsfel för sortering. Sorteringsordning {0} i databasen {1} finns inte på målservern. |
Ej tillämpligt |
| 603402 | Matchningsfel för sortering. Sorteringsordning {0} för tabell {1} i kolumn {2} finns inte på målservern. |
Kontakta Microsofts support för att lägga till nödvändiga sorteringar. |
| 603403 | Matchningsfel för sortering. Källdatabasen innehåller användardefinierade sorteringar. Ta bort de här sorteringarna och försök migreringen igen. | Ej tillämpligt |
| 603404 | OID:er som inte stöds har identifierats. Tabeller med "WITH OIDs" har identifierats i databasen {0}. De stöds inte i PostgreSQL version 12 och senare. |
Gå till PostgreSQL versionsinformation. |
| 603405 | Tillägg som inte stöds. Migreringstjänsten stöder inte migrering av databaser med {0} tillägg på målservern. |
Ej tillämpligt |
| 603406 | Tillägg som inte stöds. Target PostgreSQL {0} stöder POSTGIS version 3.2.3, som inte är kompatibel med källans {1}. |
Rekommendera målserveruppgradering till version 11. Besök PostGIS brytande ändringar. |
| 603407 | Fel i tilläggsschema Tillägg som {0} finns i systemschemat på källservern stöds inte på målservern. Släpp och återskapa tilläggen i ett icke-systemschema och försök sedan migrera igen. |
Besök PostgreSQL-tillägg. |
| 603408 | Tillägg som inte stöds. Målserverversion 16 stöder {0} inte tillägg. Migrera till version 15 eller lägre och uppgradera sedan när tilläggen stöds. |
Ej tillämpligt |
| 603409 | Användardefinierade casts finns. Källdatabasen {0} innehåller användardefinierade casts som inte kan migreras till målservern. |
Ej tillämpligt |
| 603410 | Behörighetsfel för systemtabell. Användare har åtkomst till systemtabeller som pg_authid och pg_shadow som inte kan migreras till målet. Återkalla dessa behörigheter och försök migreringen igen. | Det är viktigt att du verifierar standardbehörigheterna för pg_catalog tabeller/vyer (till exempel pg_authid och pg_shadow). Dessa behörigheter kan dock inte tilldelas målet. Mer specifikt har användaren {1} behörigheter {2} , medan användaren {3} har {4} behörigheter. En lösning finns i Användare, Roller och Behörigheter |
| 603413 | Språk som inte stöds. Migreringstjänsten stöder inte migrering av databaser med {0} språk på målservern. Ta bort språken och dess implementerade funktioner. |
Målservern stöder inte språk som inte stöds. Prova att inaktivera eller ta bort respektive språk på källservern innan du migrerar till målservern. |
| 603700 | Det gick inte att rensa måldatabasen. Det går inte att avsluta aktiva anslutningar i måldatabasen under fasen före migreringen/efter migreringen. | Ej tillämpligt |
| 603701 | Internt serverfel. Det gick inte att skapa roller på målservern. | Kontakta Microsofts support för ytterligare analys. |
| 603702 | Internt serverfel. Det gick inte att dumpa roller från källservern. | Kontakta Microsofts support för ytterligare analys. |
| 603703 | Internt serverfel. Det gick inte att redigera den globala rolldumpfilen. | Kontakta Microsofts support för ytterligare analys. |
| 603704 | Internt serverfel. Det gick inte att göra alla källroller till medlem i målmigreringsanvändaren. | Kontakta Microsofts support för ytterligare analys. |
| 603705 | Internt serverfel. Det gick inte att återställa beviljanden/återkallanden. | Kontakta Microsofts support för ytterligare analys. |
| 603706 | Internt serverfel. Det gick inte att rensa migreringsanvändaren för målservern. Målanvändaren för migreringen kan ingå i flera roller. Ta bort alla onödiga roller från målservermigreringsanvändaren och försök migreringen igen. | Kontakta Microsofts support för ytterligare analys. |
| 603707 | Internt serverfel. Det gick inte att bevilja azure_pg_admin till källserveradministratörsanvändaren. | Kontakta Microsofts support för ytterligare analys. |
| 603708 | Internt serverfel. Det gick inte att ändra ägaren till det offentliga schemat till azure_pg_admin i databasen {dbName}. Ändra ägaren för schemat public till azure_pg_admin manuellt och försök att köra migreringen igen. | Kontakta Microsofts support för ytterligare analys. |
| 603709 | Migreringskonfigurationen misslyckades. | Kontakta Microsofts support för ytterligare analys. |