Självstudie: Migrera PostgreSQL till Azure DB for PostgreSQL online med DMS via Azure Portal
Du kan använda Azure Database Migration Service för att migrera databaserna från en lokal PostgreSQL-instans till Azure Database for PostgreSQL med minimal avbrottstid för programmet. I den här självstudien migrerar du exempeldatabasen DVD-uthyrning från en lokal instans av PostgreSQL 9.6 till Azure Database for PostgreSQL med hjälp av onlinemigreringsaktiviteten i Azure Database Migration Service.
I den här guiden får du lära dig att:
- Migrera exempelschemat med hjälp av pg_dump verktyget.
- Skapa en instans av Azure Database Migration Service.
- Skapa ett migreringsprojekt i Azure Database Migration Service.
- Köra migreringen.
- Övervaka migreringen.
- Utför en migreringsmigrering.
Anteckning
Om Azure Database Migration Service ska kunna utföra en onlinemigrering måste du skapa en instans Premium på prisnivån. Vi krypterar disken för att förhindra datastöld under migreringsprocessen
Viktigt
För en optimal migreringsupplevelse rekommenderar Microsoft att du skapar en instans Azure Database Migration Service i samma Azure-region som måldatabasen. Att flytta data mellan regioner eller geografiska områden kan göra migreringsprocessen långsammare och leda till fel.
Förutsättningar
För att slutföra den här kursen behöver du:
Ladda ned och installera PostgreSQL Community Edition 9.4, 9.5, 9.6 eller 10. PostgreSQL-källserverversionen måste vara 9.4, 9.5, 9.6, 10, 11, 12 eller 13. Mer information finns i PostgreSQL-databasversioner som stöds.
Observera också att Azure Database for PostgreSQL måste vara lika med eller senare än den lokala PostgreSQL-versionen. PostgreSQL 9.6 kan till exempel migrera till Azure Database for PostgreSQL 9.6, 10 eller 11, men inte till Azure Database for PostgreSQL 9.5.
Skapa en Azure Database for PostgreSQL-server eller skapa en Azure Database for PostgreSQL – Hyperskala (Citus) server.
Skapa en Microsoft Azure Virtual Network för Azure Database Migration Service med hjälp av Azure Resource Manager-distributionsmodellen, som ger plats-till-plats-anslutning till dina lokala källservrar med hjälp av ExpressRoute eller VPN. Mer information om hur du skapar ett virtuellt nätverk finns i Virtual Network-dokumentationenoch i synnerhet snabbstartsartiklarna med stegvisa detaljer.
Anteckning
Om du använder ExpressRoute med nätverks-peering till Microsoft under installationen av det virtuella nätverket lägger du till följande tjänstslutpunkter i det undernät där tjänsten ska etableras:
- Måldatabasslutpunkt (till exempel SQL slutpunkt, Cosmos DB slutpunkt och så vidare)
- Storage slutpunkt
- Service Bus-slutpunkt
Den här konfigurationen är nödvändig Azure Database Migration Service saknar Internetanslutning.
Kontrollera att reglerna för nätverkssäkerhetsgruppen (NSG) för ditt virtuella nätverk inte blockerar den utgående porten 443 för ServiceTag för ServiceBus, Storage och AzureMonitor. Mer information om filtrering av nätverkssäkerhetsgrupper för virtuella nätverk finns i artikeln Filtrera nätverkstrafik med nätverkssäkerhetsgrupper.
Konfigurera din Windows-brandvägg för databasmotoråtkomst.
Öppna brandväggen Windows att tillåta Azure Database Migration Service åtkomst till postgreSQL-källservern, som som standard är TCP-port 5432.
När du använder en brandväggsinstallation framför dina källdatabaser kanske du måste lägga till brandväggsregler för att tillåta Azure Database Migration Service att komma åt källdatabaserna för migrering.
Skapa en brandväggsregel på servernivå för Azure Database for PostgreSQL att tillåta Azure Database Migration Service åtkomst till måldatabaserna. Ange undernätsintervallet för det virtuella nätverk som används för Azure Database Migration Service.
Aktivera logisk replikering i filen postgresql.config och ange följande parametrar:
- wal_level = logical
- max_replication_slots = [antal platser] rekommenderar vi att du anger fem platser
- max_wal_senders = [antalet samtidiga uppgifter] – parametern max_wal_senders anger antal samtidiga aktiviteter som kan köras, rekommenderad inställning är 10 uppgifter
Viktigt
Alla tabeller i den befintliga databasen behöver en primärnyckel för att säkerställa att ändringar kan synkroniseras till måldatabasen.
Migrera exempelschemat
För att slutföra alla databasobjekt som tabellscheman, index och lagrade procedurer måste vi extrahera schemat från källdatabasen och tillämpa det på databasen.
Använd pg_dump -s-kommandot för att skapa en schemadumpfil för en databas.
pg_dump -o -h hostname -U db_username -d db_name -s > your_schema.sqlOm du till exempel vill skapa en schemadumpfil för dvdrental-databasen:
pg_dump -o -h localhost -U postgres -d dvdrental -s -O -x > dvdrentalSchema.sqlMer information om hur du använder verktyget pg_dump finns i exemplen i självstudien pg-dump.
Skapa en tom databas i målmiljön, vilken är Azure Database for PostgreSQL.
Mer information om hur du ansluter och skapar en databas finns i artikeln Skapa en Azure Database for PostgreSQL-server i Azure Portal eller Skapa en Azure Database for PostgreSQL – Hyperskala (Citus)-server i Azure Portal.
Anteckning
En instans av Azure Database for PostgreSQL – Hyperskala (Citus) har bara en enda databas: citus.
Importera schemat till måldatabasen som du skapade genom att återställa schemadumpfilen.
psql -h hostname -U db_username -d db_name < your_schema.sqlEtt exempel:
psql -h mypgserver-20170401.postgres.database.azure.com -U postgres -d dvdrental citus < dvdrentalSchema.sqlAnteckning
Migreringstjänsten hanterar internt aktivera/inaktivera externa nycklar och utlösare för att säkerställa en tillförlitlig och robust datamigrering. Därför behöver du inte bekymra dig om att göra några ändringar i måldatabasschemat.
Registrera resursprovidern Microsoft.DataMigration
Logga in på Azure-portalen. Sök efter och välj Prenumerationer.

Välj den prenumeration där du vill skapa instansen av Azure Database Migration Service och välj sedan Resursproviders.

Sök efter migrering och välj sedan Registrera för Microsoft.DataMigration.

Skapa en DMS-instans
I Azure Portal väljer du + Skapa en resurs, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Service i listrutan.

På sidan Azure Database Migration Service väljer du Skapa.

På skärmen Skapa migreringstjänst anger du ett namn, prenumerationen, en ny eller befintlig resursgrupp och platsen för tjänsten.
Välj ett befintligt virtuellt nätverk eller skapa ett nytt.
Det virtuella nätverket ger Azure Database Migration Service åtkomst till PostgreSQL-källservern och målinstansen Azure Database for PostgreSQL instansen.
Mer information om hur du skapar ett virtuellt nätverk i Azure Portal finns i artikeln Skapa ett virtuellt nätverk med hjälp av Azure Portal.
Välj en prisnivå.
Mer information om kostnader och prisnivåer finns på sidan med priser.

Välj Granska + skapa för att skapa tjänsten.
Det tar cirka 10 till 15 minuter att skapa tjänsten.
Skapa ett migreringsprojekt
När tjänsten har skapats letar du reda på den i Azure Portal, öppnar den och skapar sedan ett nytt migreringsprojekt.
I Azure Portal väljer du Alla tjänster, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Services.

På skärmen Azure Database Migration Services söker du efter namnet på den Azure Database Migration Service-instans som du skapade, väljer instansen och väljer sedan + Ny migrering Project.
På sidan Nytt migreringsprojekt anger du ett namn för projektet. I textrutan Typ av källserver väljer du PostgreSQL, i textrutan Målservertyp väljer du Azure Database for PostgreSQL.
I avsnittet Välj typ av aktivitet väljer du Online-datamigrering.

Anteckning
Alternativt kan du välja Skapa endast projekt för att skapa migreringsprojektet nu och köra migreringen senare.
Välj Spara, notera kraven för att använda Azure Database Migration Service för att migrera data och välj sedan Skapa och kör aktiviteten.
Ange källinformation
På skärmen Lägg till källinformation anger du anslutningsinformationen för PostgreSQL-källinstansen.

Välj Spara.
Ange målinformation
På skärmen Målinformation anger du anslutningsinformationen för mål-Hyperskala (Citus)-servern, som är den före etablerade instansen av Hyperskala (Citus) som schemat för DVD-uthyrning har distribuerats till med hjälp av pg_dump.

Välj Spara och mappa sedan på sidan Mappa till måldatabaser käll- och måldatabasen för migrering.
Om måldatabasen innehåller samma databasnamn som källdatabasen väljer Azure Database Migration Service måldatabasen som standard.

Välj Spara och acceptera sedan standardvärdena på skärmen Migreringsinställningar.

Välj Spara. I rutan Aktivitetsnamn på skärmen Migreringssammanfattning anger du ett namn för migreringsaktiviteten och granskar sedan sammanfattningen för att se till att informationen för källa och mål matchar det du angav tidigare.

Köra migreringen
Välj Kör migrering.
Migreringsaktivitetsfönstret visas och Status för aktiviteten bör uppdateras så att den visas som Säkerhetskopiering pågår.
Övervaka migreringen
På migreringsaktivitetssidan väljer du Uppdatera för att uppdatera visningen tills Status för migreringen är Slutförd.

När migreringen är klar går du till Databasnamn och väljer en specifik databas för att få migreringsstatusen Fullständig datainläsning och Inkrementella datasynkroniseringsåtgärder.
Anteckning
Fullständig datainläsning visar den första inläsningsmigreringsstatusen, medan inkrementell datasynkronisering visar status för ändringsdatainfångst (CDC).


Utföra snabbmigrering
När den fullständiga inläsningen är klar är databaserna märkta med Klar för snabbmigrering.
När du är redo att slutföra databasmigreringen väljer du Starta snabb.
Vänta tills räknaren Väntande ändringar visar 0 för att se till att alla inkommande transaktioner till källdatabasen stoppas, markera kryssrutan Bekräfta och välj sedan Tillämpa.

När statusen för databasmigrering visar Slutförd återskapar du sekvenser (om tillämpligt) och ansluter dina program till den nya målinstansen av Azure Database for PostgreSQL.
Nästa steg
- Information om kända problem och begränsningar när du utför onlinemigreringar till Azure Database for PostgreSQL finns i artikeln Kända problem och lösningar för Azure Database for PostgreSQL-onlinemigreringar.
- Mer information om Azure Database Migration Service finns i artikeln What is the Azure Database Migration Service? (Vad är Azure Database Migration Service?).
- Information om Azure Database for PostgreSQL finns i artikeln Vad är Azure Database for PostgreSQL?.