Identifikace možností nástroje pro migraci
Existuje mnoho možností, jak provést migraci ze serveru PostgreSQL na flexibilní server Azure Database for PostgreSQL. Existují nativní nástroje PostgreSQL, jako jsou pg_dump, pgadmin a pg_restore. Existují cloudové služby Microsoft Azure, jako je Database Migration Service a možnost migrace na flexibilním serveru Azure Database for PostgresSQL, což může do značné míry automatizovat celkový proces přenosu dat ze zdroje do cíle.
Flexibilní server Azure Database for PostgreSQL – migrace
Ve službě Flexibilní server Azure Database for PostgreSQL je k dispozici nativní funkce pro podporu migrace databází z jiných instancí PostgreSQL do služby založené na Azure. Tato možnost je zaměřená na offline migraci databází ze zdroje do cíle. Abychom mohli tuto možnost použít, musíme použít nástroje pg_dumpall a psql probírané dříve k migraci databází objektů na úrovni serveru migrovaných na flexibilní server.
Tato funkce je navržená s externími instancemi PostgreSQL jako zdrojem a flexibilním serverem, na kterém byl projekt migrace vytvořen jako cíl. V podstatě pro načtení dat do flexibilního serveru. Výhody použití této služby při provádění ručního výpisu a procesu obnovení jsou spravovanou povahou migrace. Po nakonfigurování monitoruje proces všech tabulek migrovaných na flexibilní server, abychom snadno viděli, kdy je možné provést přímé přenosy na úrovni aplikace.
Projekty migrace
Jakmile se připojení seřadíme, stačí vybrat databázi nebo databáze, které chceme migrovat na nový server. Na následujícím snímku obrazovky si všimněte, že pokud existuje více databází, které zálohují několik služeb, které tvoří součást většího systému, můžeme je vybrat a migrovat je jako skupinu, nikoli jednu po druhé. Toto seskupení databází může skutečně pomoct nejen urychlit migrace, ale také udržovat logickou konzistenci během aktivit migrace.
Když spustíme proces ověření a migrace, můžeme zkontrolovat celkový průběh procesu pomocí řídicího panelu projektu. Tento řídicí panel ukazuje, jak se databáze ověřují a pak se migrují na nový server.
Tyto informace se po migraci zachovají, což nám umožní sledovat celkový průběh. Tyto informace také poskytují všechny důkazy potřebné ke změně kontrolních procesů ohledně úspěchu a doby trvání jakékoli prováděné práce.
Nástroje PostgreSQL
Tady prozkoumáme hlavní nástroje, které je možné použít k migraci dat ze serveru PostgreSQL na flexibilní server Azure Database for PostgreSQL.
pgcopydb
Pgcopydb je opensourcový projekt, který dokáže automatizovat proces kopírování databáze mezi servery PostgreSQL. Při instalaci PostgreSQL existuje několik výhod použití nástroje pgcopydb oproti nativním nástrojům, mezi které patří.
- Odebrání potřeby zprostředkujících souborů pomocí pg_backup a pg_restore
- Vytvořte souběžnost indexů pro paralelizaci vytváření indexů v tabulkách pomocí funkce synchronize__seqscans v rámci PostgreSQL.
- Vícevláknová tabulka kopíruje data do oddílů a paralelně přenáší větší tabulky.
- Změňte zachytávání dat pro synchronizaci dat, abyste minimalizovali potřebu delších časových intervalů výpadků.
V nástroji pgcopydb existují dvě hlavní možnosti, které lze použít pro migraci databáze a dat ze zdrojového serveru na cíl. Tyto možnosti jsou klonování a kopírování.
pgcopydb clone
Klon je primární možností pro kopírování celé databáze ze zdrojového serveru do cíle. Tento příkaz obsahuje několik přepínačů, které nám umožňují nakonfigurovat základní operaci klonování, a to automatizací konfigurace zachytávání dat změn pro synchronizaci dat za účelem minimalizace výpadků migrace. Můžeme také určit možnosti paralelizace přenosu dat podle tabulky a možností paralelního přenosu pro tabulky, indexy a velké objekty.
pgcopydb copy
Kopírování je možnost, která umožňuje větší členitost řízení při migraci databáze nebo jeho částí. Tuto možnost příkazu můžeme použít k výběru schémat, tabulek, rolí atd. pro přenos ze zdrojové databáze serveru na cílový server a databázi. Tento příkaz je užitečný ve scénářích, kdy se jedna velká databáze rozděluje do menších v rámci aktivity migrace modernizace aplikací. Případně nám aktivita migrace konsolidace umožňuje migrovat obsah jedné databáze do schémat v rámci jiné.
Tyto možnosti jsou jen některé ze způsobů, kterými nám pgcopydb může pomoct vylepšit proces migrace databází na flexibilní server Azure Database for PostgreSQL. Tento proces poskytuje způsob migrace, který minimalizuje riziko a maximalizuje naše šance na úspěch.
pg Správa
pg Správa je široce používaný nástroj pro správu, který lze použít k interakci s databázemi PostgreSQL. Tento nástroj umožňuje vytváření a spouštění skriptů pgsql. Nástroj obsahuje řadu užitečných nástrojů grafického uživatelského rozhraní, které lze použít ke konfiguraci, zálohování a obnovení databází PostgreSQL. Obvykle nainstalujte pg Správa na pracovní stanice pro správu. Tento nástroj umožňuje registrovat a připojovat se k několika serverům PostgreSQL, takže je klíčovou součástí sady nástrojů pro migraci.
pg_dump, pg_restore a psql
pg_dump je nástroj příkazového řádku, který se instaluje společně s instancí PostgreSQL a dá se nainstalovat podle potřeby na pracovní stanici pro správu. Umožňuje vytvářet konzistentní zálohy databáze z PostgreSQL i v případě, že probíhá souběžná úloha. Funguje s jednotlivými databázemi a umožňuje nám zálohovat celou databázi nebo jeho části.
Pokud k exportu objektů schématu používáme pg_dump, můžeme pomocí psql spustit výsledný soubor .sql v cílové databázi a vytvořit objekty. Po tomto kroku se můžeme podívat na způsoby, jak přesunout data ze zdroje do cílového systému. Příkazy, které se mají použít k exportu schématu databáze z jedné databáze a jeho vytvoření v jiné, je vidět v následujícím příkladu.
pg_dump -O --host=MyServerName --port=5432 --username=adminuser --dbname=AdventureWorks --schema-only > adventureWorks.sql
psql --host=MyFlexibleServer --username=demo --dbname=AdventureWorks < adventureWorks.sql
Pokud vytváříme úplný výpis zdrojové databáze, chceme použít pg_restore ke čtení výsledného souboru a obnovení databáze do cílové instance PostgreSQL. Existuje několik určujících faktorů, jak dlouho tyto aktivity trvá při provádění zálohování a obnovení výpisu. Zejména velikost databáze, výkon subsystému úložiště a šířku pásma sítě a latenci mezi komponentami zpracování.
Následující příklad ukazuje, jak můžeme vytvořit výpis databáze do vlastního souboru a pak ji obnovit na jiný server.
pg_dump -Fc --host=MyServerName --port=5432 --username=adminuser --dbname=AdventureWorks > db.dump
pg_restore -Fc --host=MyServerName --port=5432 --create --username=adminuser --dbname=AdventureWorks db.dump
pg_dumpall
Zatímco pg_dump slouží k výpisu jedné databáze, pg_dumpall se používá k výpisu všech databází do jednoho souboru skriptu, který psql čte do nové instance PostgreSQL.
Kromě toho lze pg_dumpall použít ke generování souborů skriptů pro objekty globální úrovně serveru, jako jsou role, na kterých mohou databáze záviset při migraci mezi servery.