SYNCED_TABLE_USER_ERROR chyba

SQLSTATE: 42000

Chyba uživatele v synchronizovaném datovém kanálu tabulky.

Změněný_Primární_Klíč

Sloupce primárního klíče zadané pro synchronizovanou tabulku <destTableUcName> byly změněny.

Zadané sloupce primárního klíče: (<primaryKeyColumns>). Sloupce aktuálního primárního klíče: (<existingPrimaryKeyColumns>).

Změna sloupců primárního klíče synchronizované tabulky po jejím vytvoření se nepodporuje.

Pokud chcete tento problém vyřešit, upravte synchronizovanou tabulku zpátky na původní sloupce primárního klíče, nebo vytvořte novou synchronizovanou tabulku a odstraňte existující tabulku.

ZMĚNĚNÝ_TYP_SLOUPCE_PRIMÁRNÍHO_KLÍČE

Datové typy sloupců <modifiedPkColumns> primárního klíče byly změněny v synchronizované tabulce <destTableUcName>.

Změna datových typů sloupců primárního klíče se po vytvoření nepodporuje v synchronizované tabulce.

Pokud chcete tento problém vyřešit, vytvořte novou synchronizovanou tabulku a odstraňte existující tabulku.

ZNAK_NENÍ_V_REPERTOÁRU

Instance: <instance>. Ve zdrojové tabulce Delta byla nalezena neplatná posloupnost bajtů.

Podrobnost: <detail>

To obvykle znamená, že zdrojová tabulka Delta obsahuje znaky, které nejsou

kompatibilní s kódováním cílové databáze. Jedním z možných řešení je převod

Zdrojová tabulka pro použití BINARY funkce TYPE a pak vytvořte novou synchronizovanou tabulku.

COLUMN_TYPE_CHANGE_NOT_SUPPORTED (Změna typu sloupce není podporována)

Instance: <instance>. Změna typu sloupce se v současné době nepodporuje.

Zdrojová tabulka Delta: <srcTableName>. Cílová synchronizovaná tabulka: <destTableName>.

Sloupec: <columnName>. Existující typ: <existingType>. Nový typ: <newType>.

Pokud chcete tento problém vyřešit, zvažte jednu z následujících možností:

  1. Proveďte úplnou aktualizaci existující synchronizované tabulky.

  2. Vytvořte novou synchronizovanou tabulku (která přijme nový typ)

CHYBA_PŘIPOJENÍ

Instance: <instance>. Chyba připojení. Podrobnosti: <detail>.

Pokud chcete tento problém vyřešit, ujistěte se, že je spuštěná instance databáze, ne pozastavená nebo zastavená.

Restartujte kanál a zkuste to znovu.

DATABÁZE_NEEXISTUJE

Cílová databáze <databaseName> v instanci <instance>lakebase neexistuje . Ověřte, jestli cílová databáze existuje.

DELTA_TRUNCATED_TRANSACTION_LOG

Podrobnosti: <detail>.

To znamená, že transakční protokol tabulky Delta byl zkrácen kvůli ručnímu odstranění nebo zásadám pro uchovávání protokolu.

Pokud chcete tento problém vyřešit, proveďte úplnou aktualizaci synchronizované tabulky.

DEPENDENT_OBJECTS_STILL_EXIST (Závislé objekty stále existují)

Instance: <instance>. Nelze vložit sloupec, protože existuje

Objekt PostgreSQL stále odkazuje na sloupec. Podrobnosti: <detail>.

Pokud chcete tento problém vyřešit, zvažte jednu z následujících možností:

  1. Přidejte chybějící sloupce zpět do zdrojové tabulky se stejnými datovými typy jako předtím.

  2. Odstraňte závislé objekty v PostgreSQL.

DUPLIKÁT_SLOUPCŮ_PRIMÁRNÍHO_KLÍČE

Sloupce <duplicatedPkColumns> jsou v primárním klíči synchronizované tabulky <destTableUcName>zadány vícekrát .

Pokud chcete tento problém vyřešit, odeberte duplicitní sloupce z primárního klíče, aby se každý sloupec zobrazil jenom jednou.

PORUŠENÍ OMEZENÍ CIZÍHO KLÍČE

Instance: <instance>. Porušení omezení cizího klíče při synchronizaci ze zdrojové tabulky:

<srcTableName>. Podrobnost: <detail>

Vytváření omezení cizího klíče odkazující na synchronizační tabulky se nepodporuje. Prosím

odstraňte omezení cizího klíče a zkuste synchronizaci zopakovat.

IZ_INDEX_VELIKOST_ŘÁDKU_PŘEKROČENA

Instance: <instance>. Hodnoty primárního klíče ve zdrojové tabulce Delta <srcTableName> jsou příliš velké.

Index B-stromu PostgreSQL PostgreSQL omezuje položky indexu na přibližně 2704 bajtů napříč všemi primárními klíči.

sloučené sloupce. Podrobnosti: <detail>.

Pokud chcete tento problém vyřešit, snižte velikost dat uložených ve sloupcích primárního klíče, nebo použijte méně sloupců.

kratší sloupce primárního klíče.

Nedostatečný prostor instance

Nelze provést synchronizaci tabulky <tableName> do instance <instance> kvůli velikosti databáze.

Aktuální využití instance: <instanceSize> bajty.

Odhadovaná nekomprimovaná velikost tabulky: <estimatedLoadSize> bajty.

Omezení velikosti instance: <maxInstanceSize> bajty.

Snižte množství dat, která chcete synchronizovat, nebo vypusťte některé existující tabulky v instanci, abyste uvolnili místo.

LOCK_TIMEOUT

Instance: <instance>. Databáze: <databaseName>. Kanál synchronizované tabulky nemohl získat zámek v rámci nakonfigurovaného časového limitu (<timeoutSeconds> sekund).

<numBlockingTransactions> Zjištěné transakce držící zámky na cílové tabulce (maximální doba držení zámku: <lockDurationSeconds> sekundy).

Uživatelské transakce drží zámky, které brání potrubí synchronizace tabulky v aktualizaci cílové tabulky.

Další informace o transakcích zahrnutých v chybě najdete v protokolech ovladače Sparku (vyhledejte [LOCK TIMEOUT DIAGNOSTICS]).

Pokud chcete tento problém vyřešit, vyhledejte připojení s dlouhotrvajícími transakcemi v instanci postgres pomocí pg_stat_activity a zavřete tyto transakce (můžete také pomocí pg_terminate_backend ukončit připojení, pokud už připojení není potřeba).

Pokud chcete tomuto problému zabránit v budoucnu, zvažte následující možnosti:

  1. Ujistěte se, že vaše aplikace buď potvrdí nebo vrátí transakce zpět.

  2. Vyhněte se dlouhotrvajícím transakcím. Nastavte auto_commit na zapnuto, jestliže práce v aplikaci nemusí probíhat v transakci.

  3. Nastavte idle_in_transaction_session_timeout v nastavení databáze tak, aby se automaticky ukončily nečinné transakce.

Příklad: ALTER DATABASE <databaseName> SET idle_in_transaction_session_timeout = '5min';

NESPRÁVNĚ_NASTAVENÝ_PRIMARY_KEY

Zadané primární klíče pro zdrojovou tabulku Delta: <srcTableName> nejsou ve zdrojové tabulce k dispozici.

Primární klíče: <primaryKeys>. Dostupné sloupce: <availableColumns>. Chybí primární klíče: <missingPkColumns>.

Pokud chcete tento problém vyřešit, zvažte jednu z následujících možností:

  1. Přidejte chybějící sloupce do zdrojové tabulky.

  2. Vytvořte novou synchronizovanou tabulku se správnou konfigurací primárního klíče.

PERMISSION_DENIED

Podrobnosti: <detail>.

Ověřte, jestli máte dostatečná oprávnění.

ROLE_PIPELINY_NEEXISTUJE

Instance: <instance>. Chybí role zapisovače databáze pro synchronizovanou pipeline tabulky. Podrobnosti: <detail>.

K tomu obvykle dochází při odstranění cílové databáze, která odstraní roli zapisovače kanálu.

Pokud chcete tento problém vyřešit, ověřte, že cílová databáze existuje a nebyla ukončena.

Pokud byla databáze záměrně vyřazena, odstraňte synchronizovanou tabulku a vytvořte ji znovu po opětovném vytvoření databáze.

PRIMARY_KEY_CONSTRAINT_VIOLATION

Instance: <instance>. Na základě primárního klíče byly zjištěny duplicitní řádky. Podrobnost: <detail>

To pravděpodobně značí špatné nastavení sloupců primárního klíče.

Ověřte, že používáte správnou sadu primárních klíčů.

ze zdrojové tabulky Delta: <srcTableName>.

Pokud chcete tento problém vyřešit, vytvořte novou synchronizovanou tabulku se správnými

konfigurace primárního klíče.

REFRESH_WITH_FOREIGN_KEY

Instance: <instance>. Nepodařilo se aktualizovat synchronizovanou tabulku <destTableName> , protože tabulka

<childTableName> má omezení cizího klíče odkazující na synchronizovanou tabulku.

Aktualizace synchronizované tabulky není podporována, pokud existují omezení cizího klíče.

odkazující na ni. Odstraňte omezení cizího klíče a zkuste aktualizaci zopakovat.

SCHEMA_DOES_NOT_EXIST

Podrobnosti: <detail>.

Ověřte, jestli schéma existuje v katalogu Unity.

CHYBA_ČTENÍ_ZDROJE

Čtení ze zdrojové tabulky <tableName>se nezdařilo. Ověřte, jestli je možné zdrojovou tabulku úspěšně přečíst prostřednictvím SELECT dotazu.

Podrobnost: <detail>

SPARK_JOB_CANCELLED

Úloha Sparku se zruší.

Podrobnost: <detail>

SYSTÉMOVÝ_KOLIZNÍ_NÁZEV_SLOUPEČKU

Instance: <instance>. Zdrojová tabulka <srcTableName> Delta obsahuje sloupec, jehož název je v konfliktu s názvem systémového sloupce PostgreSQL. Podrobnosti: <detail>.

PostgreSQL si rezervuje určité názvy sloupců (například xmin, xmax, ctid, cmin, cmax, tableoid) pro interní použití.

Pokud chcete tento problém vyřešit, přejmenujte konfliktní sloupec ve zdrojové tabulce Delta a znovu vytvořte synchronizovanou tabulku.

Nebo vytvořte zobrazení s vyloučenými konfliktními sloupci a místo toho zobrazení synchronizujte.

Chyba přístupu k systémovému schématu

Instance: <instance>. Interní systémové schéma (__db_system) není přístupné pro kanál synchronizované tabulky. Podrobnosti: <detail>.

K tomu může dojít, když se databáze resetovala nebo došlo k vyřazení interního schématu a opětovnému vytvoření bez správných oprávnění.

Pokud chcete tento problém vyřešit, odstraňte a znovu vytvořte synchronizovanou tabulku <destTableUcName>.

TABULKA_NEEXISTUJE

Podrobnosti: <detail>.

Ověřte, jestli v katalogu Unity existuje synchronizovaná tabulka.

TARGET_DATABASE_FULL

Cílový prostor databáze <databaseName> je plný. Nelze pokračovat v ingestování.

PŘÍLIŠ_MNOHO_PŘIPOJENÍ

Příliš mnoho otevřených připojení k instanci databáze: <instance>

Podrobnosti: <detail>.

Každá synchronizace tabulek může používat až 16 připojení k instanci databáze, což se počítá do limitu připojení instance.

Pokud chcete tento problém vyřešit, zkuste následující možnosti:

  1. Snižte počet souběžných kanálů zápisů do stejné databázové instance.

Například rozvrhněte harmonogram pipeline.

  1. Snižte počet souběžných připojení z jiných úloh, které se připojují ke stejné instanci databáze.

UNTRANSLATABLE_CHARACTER

Instance: <instance>. Ve zdrojové tabulce Delta byl nalezen nepřeložitelný znak.

Podrobnost: <detail>

To obvykle znamená, že zdrojová tabulka Delta obsahuje znaky, které nejsou

kompatibilní s kódováním cílové databáze. Jedním z možných řešení je převod

Zdrojová tabulka pro použití BINARY funkce TYPE a pak vytvořte novou synchronizovanou tabulku.