Migrace z Access nebo MDB databáze do PostgreSQL vypadá na první pohled jednoduše: exportovat tabulky, vytvořit nové schéma a nahrát data. V reálném projektu je to ale jen malá část práce. Access systémy často obsahují historické datové typy, nejednotné hodnoty, skryté vazby, formulářovou logiku, makra, dotazy a chování, které není uložené přímo v databázové struktuře.
První krok je inventura. Je potřeba zjistit, kolik tabulek databáze obsahuje, jaké mají sloupce, datové typy, primární klíče, cizí klíče, indexy a jaká data jsou skutečně vyplněná. Nestačí opisovat strukturu, protože starší systémy mívají nepoužívané sloupce, prázdné tabulky nebo naopak důležité hodnoty uložené v textových polích bez jasné validace.
Další důležitá část je mapování typů. Access a PostgreSQL nepracují se všemi typy stejně. Texty, datumy, boolean hodnoty, desetinná čísla a memo pole je potřeba převést tak, aby se data neztratila a aby nová databáze byla použitelná pro moderní aplikaci. U velkých migrací je dobré vytvořit migrační skripty, které lze spustit opakovaně a výsledek pokaždé ověřit.
Kvalitní migrace musí obsahovat kontrolní mechanismy. Po převodu je potřeba porovnávat počty záznamů, kontrolní součty, povinná pole, referenční vazby a vzorky reálných záznamů. Uživatelé by měli ověřovat nejen to, že data existují, ale hlavně že dávají smysl v novém rozhraní a že se s nimi dá pracovat stejně dobře nebo lépe než dřív.
PostgreSQL je pro podobné modernizace velmi dobrý cíl, protože nabízí robustní datový model, indexy, transakce, pohledy, JSON pole, fulltextové vyhledávání a dobrý výkon. Výsledek ale závisí na tom, zda se migrace udělá jako řízený proces, ne jako jednorázový export bez validace.
Pokud řešíte podobný převod, podívejte se také na službu Migrace Access / MDB do PostgreSQL a na projekt Moravské zemské muzeum.