SYNCED_TABLE_USER_ERROR felvillkor

SQLSTATE: 42000

Synkroniserad tabellpipeline: användarfel.

CHANGED_PRIMARY_KEY

De primära nyckelkolumnerna som angetts för den synkroniserade tabellen <destTableUcName> har ändrats.

Angivna primärnyckelkolumner: (<primaryKeyColumns>). Aktuella primärnyckelkolumner: (<existingPrimaryKeyColumns>).

Det går inte att ändra primärnyckelkolumnerna i en synkroniserad tabell när den har skapats.

Lös problemet genom att antingen ändra den synkroniserade tabellen tillbaka till de ursprungliga primärnyckelkolumnerna eller skapa en ny synkroniserad tabell och släppa den befintliga.

TECKEN_INTE_I_REPERTOAREN

Instans: <instance>. Ogiltig bytesekvens hittades i källtabellen för Delta.

Detalj: <detail>

Detta indikerar vanligtvis att Delta-källtabellen innehåller tecken som inte är

kompatibel med måldatabasens kodning. En lösning är att konvertera

källtabell för att använda BINARY TYPE och sedan skapa en ny synkroniserad tabell.

KOLUMN_TYP_ÄNDRING_INTE_UNDERSTÖDD

Instans: <instance>. Det går för närvarande inte att ändra kolumntypen.

Källdeltatabell: <srcTableName>. Synkroniserad destinationstabell: <destTableName>.

Kolumn: <columnName>. Befintlig typ: <existingType>. Ny typ: <newType>.

Du kan lösa problemet genom att överväga något av följande alternativ:

  1. Utför en fullständig uppdatering av den befintliga synkroniserade tabellen.

  2. Skapa en ny synkroniserad tabell (som hämtar den nya typen)

ANSLUTNINGSFEL

Instans: <instance>. Anslutningsfel. Detalj: <detail>.

Lös problemet genom att kontrollera att databasinstansen körs, inte har pausats eller stoppats.

Starta om pipelinen för att försöka processen igen.

DATABASE_DOES_NOT_EXIST

Måldatabasen <databaseName> finns inte i lakebase-instansen <instance>. Kontrollera om måldatabasen finns.

DELTA_TRUNCATED_TRANSACTION_LOG

Detalj: <detail>.

Detta anger att deltatabellens transaktionslogg har trunkerats på grund av manuell borttagning eller loggkvarhållningsprincipen.

Lös problemet genom att utföra en fullständig uppdatering av den synkroniserade tabellen.

Beroende_Objekt_Finns_Fortfarande

Instans: <instance>. Det går inte att ta bort en kolumn eftersom en befintlig

PostgreSQL-objektet refererar fortfarande till kolumnen. Detalj: <detail>.

Du kan lösa problemet genom att överväga något av följande alternativ:

  1. Lägg till de saknade kolumnerna i källtabellen med samma datatyp som tidigare.

  2. Släpp de beroende objekten i PostgreSQL.

ÖVERTRÄDELSE AV UTLÄNDSK NYCKELBEGRÄNSNING

Instans: <instance>. Begränsningsfel för främmande nyckel vid synkronisering från källtabell:

<srcTableName>. Detalj: <detail>

Det går inte att skapa begränsningar för främmande nycklar som refererar till synkningstabeller. Är du snäll

släpp begränsningen för den främmande nyckeln och försök igen att synkronisera.

LOCK_TIMEOUT

Instans: <instance>. Databas: <databaseName>. Den synkroniserade tabellpipelinen kunde inte hämta ett lås inom den konfigurerade tidsgränsen (<timeoutSeconds> sekunder).

Identifierade <numBlockingTransactions> transaktioner med lås på måltabellen (maximal varaktighet för låshållning: <lockDurationSeconds> sekunder).

Användartransaktioner innehåller lås som blockerar den synkroniserade tabellpipelinen från att uppdatera måltabellen.

Mer information om de transaktioner som är inblandade i felet finns i Spark-drivrutinsloggarna (sök efter [LOCK TIMEOUT DIAGNOSTICS]).

Lös problemet genom att hitta anslutningarna med långvariga transaktioner i postgres-instansen med hjälp av pg_stat_activity och stänga dessa transaktioner (kan också använda pg_terminate_backend för att avsluta anslutningen om anslutningen inte behövs längre).

Tänk på följande alternativ för att förhindra att det här problemet inträffar i framtiden:

  1. Se till att din ansökan antingen bekräftar eller rullar tillbaka transaktionen.

  2. Undvik tidskrävande transaktioner. Ange auto_commit på om arbetet i programmet inte behöver ske i en transaktion.

  3. Ställ in idle_in_transaction_session_timeout på databasen för att automatiskt avsluta inaktiva transaktioner.

Exempel: ALTER DATABASE <databaseName> SET idle_in_transaction_session_timeout = "5min";

MIS_CONFIGURED_PRIMARY_KEY

De angivna primära nycklarna för delta-källtabellen: <srcTableName> är inte tillgängliga i källtabellen.

Primära nycklar: <primaryKeys>. Tillgängliga kolumner: <availableColumns>. Primärnycklar saknas: <missingPkColumns>.

Du kan lösa problemet genom att överväga något av följande alternativ:

  1. Lägg till kolumnerna som saknas i källtabellen.

  2. Skapa en ny synkroniserad tabell med rätt primärnyckelkonfiguration.

PERMISSION_DENIED

Detalj: <detail>.

Kontrollera om du har tillräcklig behörighet.

PRIMARY_KEY_CONSTRAINT_VIOLATION

Instans: <instance>. Duplicerade rader har identifierats baserat på primärnyckel. Detalj: <detail>

Detta indikerar sannolikt en felkonfiguration av primärnyckelkolumner.

Kontrollera att du använder rätt uppsättning primära nycklar

från Delta källtabellen: <srcTableName>.

Lös problemet genom att skapa en ny synkroniserad tabell med rätt

konfiguration av primärnyckel.

REFRESH_WITH_FOREIGN_KEY

Instans: <instance>. Det gick inte att uppdatera den synkroniserade tabellen <destTableName> eftersom tabellen

<childTableName> har en begränsning för extern nyckel som refererar till den synkroniserade tabellen.

Uppdatering av den synkroniserade tabellen stöds inte när det finns begränsningar för främmande nyckel

refererar till den. Släpp begränsningen för främmande nyckeln och försök att uppdatera igen.

SCHEMA_DOES_NOT_EXIST

Detalj: <detail>.

Kontrollera om schemat finns i Unity Catalog.

FEL VID LÄSNING AV KÄLLA

Det gick inte att läsa från källtabellen <tableName>. Kontrollera om källtabellen kan läsas via en SELECT fråga.

Detalj: <detail>

SPARK_JOB_CANCELLED

Spark-jobbet har avbrutits.

Detalj: <detail>

TABELL_EXISTERAR_INTE

Detalj: <detail>.

Kontrollera om den synkroniserade tabellen finns i Unity Catalog.

TARGET_DATABASE_FULL

Måldatabasutrymmet <databaseName> är fullt. Det går inte att fortsätta mata in.

FÖR_MÅNGA_ANSLUTNINGAR

För många öppna anslutningar till databasinstansen: <instance>

Detalj: <detail>.

Varje tabellsynkronisering kan använda upp till 16 anslutningar till databasinstansen, vilket räknas mot instansens anslutningsgräns.

Lös problemet genom att prova följande alternativ:

  1. Minska antalet samtidiga pipelines som skrivs till samma databasinstans.

T.ex. förskjuter du pipelinescheman.

  1. Minska antalet samtidiga anslutningar från andra arbetsbelastningar som ansluter till samma databasinstans.

UNTRANSLATABLE_CHARACTER

Instans: <instance>. Det hittades ett icke-översättbart tecken i Delta-tabellen.

Detalj: <detail>

Detta indikerar vanligtvis att Delta-källtabellen innehåller tecken som inte är

kompatibel med måldatabasens kodning. En lösning är att konvertera

källtabell för att använda BINARY TYPE och sedan skapa en ny synkroniserad tabell.