Delen via


PostgreSQL-database migreren naar PostgreSQL-server met Azure Arc

In dit document worden de stappen beschreven voor het ophalen van uw bestaande PostgreSQL-database (een database die niet wordt gehost in Azure Arc-gegevensservices) op uw PostgreSQL-server met Azure Arc.

Notitie

Omdat het om een preview-functie gaat, is de technologie die in dit artikel wordt behandeld onderhevig aan de Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.

De meest recente updates zijn beschikbaar in de releaseopmerkingen.

Overwegingen

PostgreSQL-server met Azure Arc is de communityversie van PostgreSQL. Elk hulpprogramma dat werkt op PostgreSQL buiten Azure Arc, moet dus werken met een PostgreSQL-server met Azure Arc.

Als zodanig, met de set hulpprogramma's die u vandaag gebruikt voor Postgres, moet u het volgende kunnen doen:

  1. Een back-up maken van uw Postgres-database vanuit uw exemplaar dat buiten Azure Arc wordt gehost
  2. Deze herstellen op uw PostgreSQL-server met Azure Arc

Wat u nog moet doen, is:

  • de serverparameters opnieuw instellen
  • de beveiligingscontexten opnieuw instellen: gebruikers, rollen en machtigingen opnieuw instellen...

Als u deze back-up-/herstelbewerking wilt uitvoeren, kunt u elk hulpprogramma gebruiken dat back-up/herstel voor Postgres kan uitvoeren. Voorbeeld:

  • Azure Data Studio en de Postgres-extensie
  • pgcli
  • pgAdmin
  • pg_dump
  • pg_restore
  • psql
  • ...

Opmerking

Laten we deze stappen illustreren met behulp van het pgAdmin hulpprogramma. Houd rekening met de volgende installatie:

  • Bron:
    Een Postgres-server die on-premises wordt uitgevoerd op een bare-metalserver en de naam JEANYDSRV. Het is van versie 14 en host een database met de naam MyOnPremPostgresDB met één tabel T1 met 1 rij Migreren-bron

  • Bestemming:
    Een Postgres-server die wordt uitgevoerd in een Azure Arc-omgeving en postgres01 heet. Het is van versie 14. Er is geen database behalve de standaard Postgres-database.
    Migreren-bestemming

Een back-up maken van de brondatabase on-premises

Back-up van bron migreren

Configureer deze:

  1. Geef het een bestandsnaam: MySourceBackup
  2. De notatie instellen op AangepastMigrate-source-backup-configure

De back-up is voltooid:
Migratie-bronback-up voltooid

Een lege database maken op het doelsysteem op uw PostgreSQL-server met Azure Arc

Notitie

Als u een Postgres-exemplaar in het pgAdmin hulpprogramma wilt registreren, moet u het openbare IP-adres van uw exemplaar in uw Kubernetes-cluster gebruiken en de poort- en beveiligingscontext op de juiste manier instellen. U vindt deze details op de psql eindpuntregel nadat u de volgende opdracht hebt uitgevoerd:

az postgres server-arc endpoint list -n postgres01 --k8s-namespace <namespace> --use-k8s

Hiermee wordt een uitvoer geretourneerd zoals:

{
  "instances": [
    {
      "endpoints": [
    "Description": "PostgreSQL Instance",
    "Endpoint": "postgresql://postgres:<replace with password>@12.345.123.456:1234"
  },
  {
    "Description": "Log Search Dashboard",
    "Endpoint": "https://12.345.123.456:12345/kibana/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:\"postgres01\"'))"
  },
  {
    "Description": "Metrics Dashboard",
    "Endpoint": "https://12.345.123.456:12345/grafana/d/postgres-metrics?var-Namespace=arc3&var-Name=postgres01"
  }
],
"engine": "PostgreSql",
"name": "postgres01"
}
  ],
  "namespace": "arc"
}

Laten we de doeldatabase een naam RESTORED_MyOnPremPostgresDB.

Migrate-destination-db-create

De database herstellen in uw Arc-installatie

Migreren van db-restore

De herstelbewerking configureren:

  1. Wijs het bestand aan dat de back-up bevat die u wilt herstellen: MySourceBackup

  2. De opmaak ingesteld houden op Aangepast of tarMigrate-db-restore-configure

  3. Klik op Herstellen.

    De herstelbewerking is voltooid.
    Migrate-db-restore-completed

Controleer of de database is hersteld op uw PostgreSQL-server met Azure Arc

Gebruik een van de volgende methoden:

Van pgAdmin:

Vouw het Postgres-exemplaar uit dat wordt gehost in uw Azure Arc-installatie. U ziet de tabel in de database die u hebt hersteld en wanneer u de gegevens selecteert, wordt dezelfde rij weergegeven als die in het on-premises exemplaar:

Migrate-db-restore-verification

Vanuit psql uw Azure Arc-installatie:

Binnen uw Arc-installatie kunt psql u verbinding maken met uw Postgres-exemplaar, de databasecontext RESTORED_MyOnPremPostgresDB instellen op de gegevens en er query's op uitvoeren:

  1. Geef de eindpunten weer om uw psql verbindingsreeks vorm te geven:

    az postgres server-arc endpoint list -n postgres01 --k8s-namespace <namespace> --use-k8s
    
    {
      "instances": [
        {
          "endpoints": [
        "Description": "PostgreSQL Instance",
        "Endpoint": "postgresql://postgres:<replace with password>@12.345.123.456:1234"
      },
      {
        "Description": "Log Search Dashboard",
        "Endpoint": "https://12.345.123.456:12345/kibana/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:\"postgres01\"'))"
      },
      {
        "Description": "Metrics Dashboard",
        "Endpoint": "https://12.345.123.456:12345/grafana/d/postgres-metrics?var-Namespace=arc3&var-Name=postgres01"
      }
    ],
    "engine": "PostgreSql",
    "name": "postgres01"
    }
      ],
      "namespace": "arc"
    }
    
  2. Gebruik in uw psql verbindingsreeks de -d parameter om de naam van de database aan te geven. Met de onderstaande opdracht wordt u gevraagd om het wachtwoord:

    psql -d RESTORED_MyOnPremPostgresDB -U postgres -h 10.0.0.4 -p 32639
    

    psql Verbindt.

    Password for user postgres:
    psql (10.12 (Ubuntu 10.12-0ubuntu0.18.04.1), server 12.3 (Debian 12.3-1.pgdg100+1))
    WARNING: psql major version 10, server major version 12.
          Some psql features might not work.
    SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
    Type "help" for help.
    
    RESTORED_MyOnPremPostgresDB=#   
    
  3. Selecteer de tabel en u ziet de gegevens die u hebt hersteld vanuit het on-premises Postgres-exemplaar:

    RESTORED_MyOnPremPostgresDB=# select * from t1;
    
     col1 |    col2
    ------+-------------
        1 | BobbyIsADog
    (1 row)
    

Notitie

  • Het is momenteel niet mogelijk om een bestaand Postgres-exemplaar te onboarden in Azure Arc dat on-premises of in een andere cloud wordt uitgevoerd. Met andere woorden, het is niet mogelijk om een soort 'Azure Arc-agent' te installeren op uw bestaande Postgres-exemplaar om ervoor te zorgen dat het een Postgres-installatie is ingeschakeld door Azure Arc. In plaats daarvan moet u een nieuw Postgres-exemplaar maken en er gegevens naar overdragen. U kunt de hierboven weergegeven techniek gebruiken om dit te doen of u kunt elk ETL-hulpprogramma van uw keuze gebruiken.

*In deze documenten slaat u de secties Aanmelden bij Azure Portal over en maakt u een Azure Database for PostgreSQL. Implementeer de resterende stappen in uw Azure Arc-implementatie. Deze secties zijn specifiek voor de Azure Database for PostgreSQL-server die wordt aangeboden als een PaaS-service in de Azure-cloud, maar de andere delen van de documenten zijn rechtstreeks van toepassing op uw PostgreSQL-server met Azure Arc.