Známé problémy/omezení migrace pro online migrace z PostgreSQL do Azure DB pro PostgreSQL
Známé problémy a omezení související s online migracemi z PostgreSQL do Azure Database for PostgreSQL jsou popsány v následujících částech.
Konfigurace online migrace
Na zdrojovém serveru PostgreSQL musí běžet verze 9,4, 9,5, 9,6, 10 nebo 11. Další informace najdete v článku podporované verze databáze PostgreSQL.
Jsou podporovány pouze migrace do stejné nebo vyšší verze. Například migrace PostgreSQL 9,5 na Azure Database for PostgreSQL 9,6 nebo 10 je podporována, ale migrace z PostgreSQL 11 na PostgreSQL 9,6 není podporována.
Pokud chcete povolit logickou replikaci ve zdrojovém souboru PostgreSQL PostgreSQL. conf , nastavte následující parametry:
- wal_level = logická
- max_replication_slots = [minimálně maximální počet databází pro migraci]; Pokud chcete migrovat čtyři databáze, nastavte hodnotu aspoň na 4.
- max_wal_senders = [počet databází, které jsou spuštěny souběžně]; Doporučená hodnota je 10.
Přidejte IP adresu agenta DMS do zdrojového PostgreSQL pg_hba. conf
Po dokončení zřizování instance Azure Database Migration Service si poznamenejte IP adresu DMS.
Přidejte IP adresu do souboru pg_hba. conf, jak je znázorněno na následujícím obrázku:
host all 172.16.136.18/10 md5 host replication postgres 172.16.136.18/10 md5
Uživatel musí mít roli replikace na serveru, který je hostitelem zdrojové databáze.
Zdrojové a cílové schéma databáze se musí shodovat.
Omezení velikosti
- Pomocí jedné služby DMS můžete migrovat až 1 TB dat z PostgreSQL do Azure DB pro PostgreSQL.
Omezení datového typu
Omezení: Pokud v tabulkách není žádný primární klíč, změny se nemusí synchronizovat s cílovou databází.
Alternativní řešení: dočasně nastavte primární klíč pro tabulku, aby migrace pokračovala. Po dokončení migrace dat můžete primární klíč odebrat.
Omezení při migraci online z AWS VP PostgreSQL
Při pokusu o provedení online migrace z AWS VP PostgreSQL pro Azure Database for PostgreSQL se může vyskytnout následující chyby.
Chyba: Výchozí hodnota sloupce {column} v tabulce {table} v databázi {database} se na zdrojovém a cílovém serveru liší. Hodnota na zdrojovém serveru: {value on source}. Hodnota na cílovém serveru: {value on target}.
Omezení: k této chybě dochází, pokud je výchozí hodnota ve schématu sloupce odlišná mezi zdrojovou a cílovou databází. Alternativní řešení: Zajistěte, aby schéma na cíli odpovídalo schématu na zdroji. Podrobnosti o migraci schématu najdete v online dokumentaci k migraci pro Azure PostgreSQL.
Chyba: Cílová databáze {database} obsahuje {number of tables} tabulek, ale zdrojová databáze {database} obsahuje {number of tables} tabulek. Počet tabulek ve zdrojové i cílové databázi musí být stejný.
Omezení: k této chybě dochází, pokud se počet tabulek liší od zdrojové a cílové databáze.
Alternativní řešení: Zajistěte, aby schéma na cíli odpovídalo schématu na zdroji. Podrobnosti o migraci schématu najdete v online dokumentaci k migraci pro Azure PostgreSQL.
Chyba: Zdrojová databáze {Database} je prázdná.
Omezení: k této chybě dochází, když je zdrojová databáze prázdná. Je to pravděpodobně proto, že jste vybrali špatnou databázi jako zdroj.
Alternativní řešení: poklikejte na zdrojovou databázi, kterou jste vybrali pro migraci, a pak to zkuste znovu.
Chyba: Cílová databáze {Database} je prázdná. Proveďte migraci schématu.
Omezení: k této chybě dochází, pokud není v cílové databázi žádné schéma. Ujistěte se, že schéma na cíli odpovídá schématu na zdroji. Alternativní řešení: Zajistěte, aby schéma na cíli odpovídalo schématu na zdroji. Podrobnosti o migraci schématu najdete v online dokumentaci k migraci pro Azure PostgreSQL.
Další omezení
- Název databáze nesmí obsahovat středník (;).
- Zachycená tabulka musí mít primární klíč. Pokud tabulka nemá primární klíč, výsledek operace odstranění a aktualizace záznamů nebude možné předpovědět.
- Aktualizace segmentu primárního klíče se ignoruje. V takových případech bude použití takové aktualizace identifikována cílem jako aktualizace, která neaktualizovala žádné řádky, a výsledkem bude záznam zapsaný do tabulky výjimky.
- Migrace více tabulek se stejným názvem, ale jiným případem (například Tabulka1, Tabulka1 a Tabulka1), může způsobit nepředvídatelné chování a není proto podporována.
- Změnit zpracování [vytvořit | ZMĚNIT | DROP | ZKRÁCENí] tabulka DDLs není podporována.
- V Azure Database Migration Service může jedna aktivita migrace pojmout pouze až čtyři databáze.
- Migrace pg_largeobject tabulky není podporována.