Identyfikowanie opcji narzędzi migracji
Istnieje wiele opcji przeprowadzania migracji z serwera PostgreSQL do serwera elastycznego usługi Azure Database for PostgreSQL. Istnieją natywne narzędzia PostgreSQL, takie jak pg_dump, pgadmin i pg_restore. Istnieją usługi w chmurze platformy Microsoft Azure, takie jak Database Migration Service i opcja migracji w usłudze Azure Database for PostgresSQL — serwer elastyczny, który może w dużej mierze zautomatyzować ogólny proces transferu danych od źródła do celu.
Serwer elastyczny usługi Azure Database for PostgreSQL — migracja
W ramach usługi Azure Database for PostgreSQL — serwer elastyczny istnieje natywna możliwość obsługi migracji baz danych z innych wystąpień PostgreSQL do usługi opartej na platformie Azure. Ta opcja jest kierowana do migracji baz danych w trybie offline ze źródła do miejsca docelowego. Aby użyć tej opcji, należy użyć narzędzi pg_dumpall i psql omówionych wcześniej w celu migracji baz danych obiektów na poziomie serwera migrowanych do serwera elastycznego.
Ta funkcja została zaprojektowana z zewnętrznymi wystąpieniami postgreSQL jako źródłem i serwerem elastycznym, na którym projekt migracji został utworzony jako cel. Zasadniczo do ściągania danych na serwer elastyczny. Korzyści wynikające z korzystania z tej usługi w przypadku wykonywania ręcznego zrzutu i procesu przywracania to zarządzany charakter migracji. Po skonfigurowaniu monitoruje proces wszystkich tabel migrowanych do serwera elastycznego, dzięki czemu można łatwo zobaczyć, kiedy można wykonać przecięcie na poziomie aplikacji.
Projekty migracji
Po posortowanej łączności wystarczy wybrać bazę danych lub bazy danych, które chcemy zmigrować na nowy serwer. Na poniższym zrzucie ekranu zwróć uwagę, że jeśli istnieje wiele baz danych, które tworzą część większego systemu, możemy wybrać migrację ich jako grupę, a nie pojedynczą. Takie grupowanie baz danych może naprawdę pomóc nie tylko przyspieszyć migracje, ale także zachować spójność logiczną podczas działań związanych z migracją.
Po rozpoczęciu procesu weryfikacji i migracji możemy przejrzeć ogólny postęp procesu przy użyciu pulpitu nawigacyjnego projektu. Ten pulpit nawigacyjny pokazuje nas, gdy bazy danych są weryfikowane, a następnie migrowane na nowy serwer.
Te informacje zostaną zachowane po migracji, co pozwoli nam śledzić ogólny postęp. Informacje te zawierają również wszelkie dowody potrzebne do zmiany procesów kontroli dotyczących sukcesu i czasu trwania wszelkich podjętych prac.
Narzędzia PostgreSQL
W tym miejscu zapoznamy się z głównymi narzędziami, których można użyć do migrowania danych z serwera PostgreSQL do serwera elastycznego usługi Azure Database for PostgreSQL.
pgcopydb
Pgcopydb to projekt typu open source, który może zautomatyzować proces kopiowania bazy danych między serwerami PostgreSQL. Istnieje kilka korzyści związanych z używaniem bazy danych pgcopydb za pomocą natywnych narzędzi udostępnianych podczas instalowania bazy danych PostgreSQL. Te korzyści obejmują.
- Usuwanie potrzeby plików pośrednich przy użyciu pg_backup i pg_restore.
- Utwórz współbieżność indeksu, aby zrównać tworzenie indeksów w tabelach przy użyciu funkcji synchronize__seqscans w usłudze PostgreSQL.
- Kopiowanie tabel wielowątowych na dane partycji i równoległe przesyłanie większych tabel.
- Zmień przechwytywanie danych na potrzeby synchronizacji danych, aby zminimalizować potrzebę długotrwałych okien przestojów.
Istnieją dwie główne opcje w bazie danych pgcopydb, których można użyć do migracji bazy danych i danych z serwera źródłowego do celu. Te opcje są klonowane i kopiowane.
klon bazy danych pgcopydb
Klonowanie to podstawowa opcja kopiowania całej bazy danych z serwera źródłowego do obiektu docelowego. To polecenie zawiera kilka dostępnych przełączników, które pozwalają nam skonfigurować podstawową operację klonowania, automatyzując konfigurację przechwytywania zmian danych w celu synchronizowania danych w celu zminimalizowania przestojów migracji. Możemy również określić opcje równoległego transferu danych według tabel i opcji transferu równoległego dla tabel, indeksów i dużych obiektów.
kopia bazy danych pgcopydb
Kopiowanie to opcja, która umożliwia większą szczegółowość kontroli w przypadku migrowania bazy danych lub jej części. Możemy użyć tej opcji polecenia, aby wybrać schematy, tabele, role itp., aby przenieść z bazy danych serwera źródłowego do serwera docelowego i bazy danych. To polecenie jest przydatne w scenariuszach, w których jedna duża baza danych jest rozłożona na mniejsze w ramach działania migracji modernizacji aplikacji. Alternatywnie działanie migracji konsolidacji umożliwia migrowanie zawartości jednej bazy danych do schematów w innym.
Te opcje to tylko niektóre z sposobów, w jakie narzędzie pgcopydb może pomóc nam ulepszyć proces migracji baz danych do serwera elastycznego usługi Azure Database for PostgreSQL. Ten proces zapewnia sposób migracji, który minimalizuje ryzyko i maksymalizuje nasze szanse na sukces.
pg Administracja
pg Administracja to powszechnie używane narzędzie do zarządzania, które może służyć do interakcji z bazami danych PostgreSQL. To narzędzie umożliwia tworzenie i wykonywanie skryptów pgsql. Narzędzie zawiera tablicę przydatnych narzędzi gui, których można użyć do konfigurowania, tworzenia kopii zapasowych i przywracania baz danych PostgreSQL. Zazwyczaj zainstaluj narzędzie pg Administracja na stacjach roboczych administracyjnych. To narzędzie umożliwia zarejestrowanie wielu serwerów PostgreSQL i nawiązanie z nim połączenia, co stanowi kluczową część zestawu narzędzi migracji.
pg_dump, pg_restore i psql
pg_dump jest narzędziem wiersza polecenia zainstalowanym razem z wystąpieniem bazy danych PostgreSQL i można je zainstalować zgodnie z potrzebami na administracyjnej stacji roboczej. Umożliwia tworzenie spójnych kopii zapasowych baz danych z bazy danych PostgreSQL nawet wtedy, gdy odbywa się współbieżne obciążenie. Współpracuje ona z poszczególnymi bazami danych i umożliwia tworzenie kopii zapasowych całej bazy danych lub jej części.
Jeśli używasz pg_dump do eksportowania obiektów schematu, możemy użyć narzędzia psql, aby uruchomić wynikowy plik .sql w docelowej bazie danych w celu utworzenia obiektów. Po wykonaniu tego kroku możemy przyjrzeć się sposobom przenoszenia danych ze źródła do systemu docelowego. Polecenia używane do eksportowania schematu bazy danych z jednej bazy danych i tworzenia go w innym można zobaczyć w poniższym przykładzie.
pg_dump -O --host=MyServerName --port=5432 --username=adminuser --dbname=AdventureWorks --schema-only > adventureWorks.sql
psql --host=MyFlexibleServer --username=demo --dbname=AdventureWorks < adventureWorks.sql
Jeśli tworzysz pełny zrzut źródłowej bazy danych, chcemy użyć pg_restore, aby odczytać wynikowy plik i przywrócić bazę danych do docelowego wystąpienia bazy danych PostgreSQL. Istnieje kilka czynników określających czas wykonywania tych działań podczas wykonywania kopii zapasowej i przywracania w celu zrzutu. W szczególności rozmiar bazy danych, wydajność podsystemu magazynowania oraz przepustowość sieci i opóźnienie między składnikami przetwarzania.
W poniższym przykładzie pokazano, jak utworzyć zrzut bazy danych do niestandardowego, a następnie przywrócić go na inny serwer.
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
Podczas gdy pg_dump służy do zrzutu pojedynczej bazy danych, pg_dumpall służy do zrzutu wszystkich baz danych do pojedynczego pliku skryptu, który narzędzie psql odczytuje do nowego wystąpienia bazy danych PostgreSQL.
Ponadto pg_dumpall można użyć do generowania plików skryptów dla obiektów na poziomie serwera globalnego, takich jak role, które bazy danych mogą zależeć od migrowania między serwerami.