Kända problem/migreringsbegränsningar med onlinemigrering från PostgreSQL till Azure DB for PostgreSQL

Kända problem och begränsningar som är associerade med onlinemigrering från PostgreSQL till Azure Database for PostgreSQL beskrivs i följande avsnitt.

Konfiguration av onlinemigrering

  • PostgreSQL-källservern måste köra version 9.4, 9.5, 9.6, 10 eller 11. Mer information finns i artikeln Versioner av PostgreSQL Database som stöds.

  • Endast migreringar till samma eller en högre version stöds. Till exempel stöds migrering av PostgreSQL 9.5 till Azure Database for PostgreSQL 9.6 eller 10, men migrering från PostgreSQL 11 till PostgreSQL 9.6 stöds inte.

  • Om du vill aktivera logisk replikering i postgreSQL postgresql.conf-källfilen anger du följande parametrar:

    • wal_level = logiskt
    • max_replication_slots = [minst maximalt antal databaser för migrering]; Om du vill migrera fyra databaser anger du värdet till minst 4.
    • max_wal_senders = [antal databaser som körs samtidigt]; det rekommenderade värdet är 10
  • Lägg till DMS-agentens IP-adress till PostgreSQL-pg_hba.conf

    1. Anteckna DMS IP-adressen när du har etablerat en instans av Azure Database Migration Service.

    2. Lägg till IP-adressen i pg_hba.conf-filen enligt följande:

          host    all    172.16.136.18/10    md5
          host    replication postgres    172.16.136.18/10     md5
      
  • Användaren måste ha rollen REPLIKERING på servern som är värd för källdatabasen.

  • Käll- och måldatabasschemana måste matcha.

Storleksbegränsningar

  • Du kan migrera upp till 1 TB data från PostgreSQL till Azure DB for PostgreSQL en enda DMS-tjänst.

Begränsningar för datatyper

Begränsning: Om det inte finns någon primärnyckel i tabeller kanske ändringarna inte synkroniseras till måldatabasen.

Lösning: Ange tillfälligt en primärnyckel för tabellen för att migreringen ska fortsätta. Du kan ta bort den primära nyckeln när datamigrering har slutförts.

Begränsningar vid migrering online från AWS RDS PostgreSQL

När du försöker utföra en onlinemigrering från AWS RDS PostgreSQL till Azure Database for PostgreSQL kan följande fel uppstå.

  • Fel: Standardvärdet för kolumnen ”{column}” i tabellen ”{table}” i databasen ”{database}” är olika på käll- och målservrarna. Det har ”{value on source}” i källan och ”{value on target}” i målet.

    Begränsning: Det här felet uppstår när standardvärdet för ett kolumnschema skiljer sig mellan käll- och måldatabaserna. Lösning: Kontrollera att schemat på målet matchar schemat på källan. Mer information om hur du migrerar schema finns i onlinemigreringsdokumentationen för Azure PostgreSQL.

  • Fel: Måldatabasen ”{database}” har ”{number of tables}” tabeller, medan källdatabasen ”{database}” har ”{number of tables}” tabeller. Antalet tabeller i käll- och måldatabaserna måste vara lika många.

    Begränsning: Det här felet uppstår när antalet tabeller skiljer sig mellan käll- och måldatabaserna.

    Lösning: Kontrollera att schemat på målet matchar schemat på källan. Mer information om hur du migrerar schema finns i onlinemigreringsdokumentationen för Azure PostgreSQL.

  • Fel: Källdatabasen {database} är tom.

    Begränsning: Det här felet uppstår när källdatabasen är tom. Det beror troligen på att du har valt fel databas som källa.

    Lösning: Dubbelkolla källdatabasen som du valde för migreringen och försök sedan igen.

  • Fel: Måldatabasen {database} är tom. Migrera schemat.

    Begränsning: Det här felet uppstår när det inte finns något schema i måldatabasen. Kontrollera att schemat på målet matchar schemat på källan. Lösning: Kontrollera att schemat på målet matchar schemat på källan. Mer information om hur du migrerar schema finns i onlinemigreringsdokumentationen för Azure PostgreSQL.

Andra begränsningar

  • Databasnamnet får inte innehålla semikolon (eller ;).
  • En avbildad tabell måste ha en primärnyckel. Om en tabell inte har en primärnyckel blir resultatet av poståtgärderna DELETE och UPDATE oförutsägbara.
  • Uppdatering av ett segment för primärnyckel ignoreras. I sådana fall identifieras en sådan uppdatering av målet som en uppdatering som inte har uppdaterat några rader och resulterar i en post som skrivs till undantagstabellen.
  • Migrering av flera tabeller med samma namn men ett annat fall (t.ex. table1, TABLE1 och Table1) kan orsaka oförutsägbart beteende och stöds därför inte.
  • Ändringsbearbetning av [CREATE | ALTER | DROP | TRUNCATE] tabell-DDL:er stöds inte.
  • I Azure Database Migration Service kan en enda migreringsaktivitet endast hantera upp till fyra databaser.
  • Migrering av pg_largeobject stöds inte.