Aracılığıyla paylaş


PostgreSQL veritabanını Azure Arc özellikli PostgreSQL sunucusuna geçirme

Bu belgede mevcut PostgreSQL veritabanınızı (Azure Arc özellikli Veri Hizmetleri'nde barındırılmayan veritabanı) Azure Arc özellikli PostgreSQL sunucunuza alma adımları açıklanmaktadır.

Not

Önizleme özelliği olarak, bu makalede sunulan teknoloji Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları'na tabidir.

En son güncelleştirmeler sürüm notlarında bulunur.

Dikkat edilmesi gereken noktalar

Azure Arc özellikli PostgreSQL sunucusu, PostgreSQL'in topluluk sürümüdür. Bu nedenle, Azure Arc dışında PostgreSQL üzerinde çalışan tüm araçlar Azure Arc özellikli PostgreSQL sunucusuyla çalışmalıdır.

Bu nedenle, postgres için bugün kullandığınız araçlarla şunları yapabilmeniz gerekir:

  1. Postgres veritabanınızı Azure Arc dışında barındırılan örneğinizden yedekleme
  2. Azure Arc özellikli PostgreSQL sunucunuza geri yükleme

Yapmanız gereken şey:

  • sunucu parametrelerini sıfırlama
  • güvenlik bağlamlarını sıfırlayın: kullanıcıları, rolleri ve sıfırlama izinlerini yeniden oluşturun...

Bu yedekleme/geri yükleme işlemini yapmak için Postgres için yedekleme/geri yükleme yapabilen herhangi bir aracı kullanabilirsiniz. Örneğin:

  • Azure Data Studio ve Postgres uzantısı
  • pgcli
  • pgAdmin
  • pg_dump
  • pg_restore
  • psql
  • ...

Örnek

Şimdi aracı kullanarak pgAdmin bu adımları gösterelim. Aşağıdaki kurulumu göz önünde bulundurun:

  • Kaynak:
    Şirket içinde çıplak bir sunucuda çalışan ve JEANYDSRV adlı bir Postgres sunucusu. Sürüm 14'tür ve 1 satırı olan bir T1 tablosuna sahip MyOnPremPostgresDB adlı bir veritabanını barındırır Geçiş kaynağı

  • Hedef:
    Azure Arc ortamında çalışan ve postgres01 adlı bir Postgres sunucusu. Sürüm 14'tür. Standart Postgres veritabanı dışında herhangi bir veritabanına sahip değildir.
    Geçiş hedefi

Şirket içi kaynak veritabanının yedeğini alma

Geçiş-kaynak-yedekleme

Yapılandırın:

  1. Dosya adı verin: MySourceBackup
  2. Biçimi Özel olarak ayarlamaGeçiş-kaynak-yedekleme-yapılandırma

Yedekleme başarıyla tamamlar:
Geçiş-kaynak-yedekleme tamamlandı

Azure Arc özellikli PostgreSQL sunucunuzda hedef sistemde boş bir veritabanı oluşturma

Not

Araca bir Postgres örneği pgAdmin kaydetmek için Kubernetes kümenizde örneğinizin genel IP'sini kullanmanız ve bağlantı noktası ile güvenlik bağlamını uygun şekilde ayarlamanız gerekir. Aşağıdaki komutu çalıştırdıktan sonra bu ayrıntıları psql uç nokta satırında bulabilirsiniz:

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

Bu, aşağıdaki gibi bir çıkış döndürür:

{
  "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"
}

Hedef veritabanını RESTORED_MyOnPremPostgresDB adlandıralım.

Migrate-destination-db-create

Arc kurulumunuzda veritabanını geri yükleme

Migratre-db-restore

Geri yüklemeyi yapılandırın:

  1. Geri yükleneceği yedeklemeyi içeren dosyanın üzerine gelin: MySourceBackup

  2. Biçimi Özel veya tar olarak ayarlayın Geçişi-db-restore-configure

  3. Geri Yükle'ye tıklayın.

    Geri yükleme başarılı oldu.
    Geçişi-db-restore-completed

Veritabanının Azure Arc özellikli PostgreSQL sunucunuzda başarıyla geri yüklendiğini doğrulayın

Aşağıdaki yöntemlerden birini kullanın:

Kimden pgAdmin:

Azure Arc kurulumunuzda barındırılan Postgres örneğini genişletin. Tabloyu geri yüklediğiniz veritabanında görürsünüz ve verileri seçtiğinizde, şirket içi örnektekiyle aynı satırı gösterir:

Geçişi-db-restore-verification

psql Azure Arc kurulumunuzun içinden:

Arc kurulumunuzda Postgres örneğine bağlanmak, veritabanı bağlamını olarak ayarlamak ve verileri sorgulamak için RESTORED_MyOnPremPostgresDB kullanabilirsinizpsql:

  1. bağlantı dizesi oluşturmaya yardımcı olacak uç noktaları listeleyin psql :

    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. psql bağlantı dizesi veritabanı adını belirtmek için parametresini kullanın-d. Aşağıdaki komutla parola istenir:

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

    psql Bağlanır.

    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. Tabloyu seçtiğinizde şirket içi Postgres örneğinden geri yüklemiş olduğunuz verileri görürsünüz:

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

Not

  • Bugün şirket içinde veya başka bir bulutta çalışan mevcut bir Postgres örneğini "Azure Arc'a eklemek" mümkün değildir. Başka bir deyişle, Mevcut Postgres örneğinize bir tür "Azure Arc aracısı" yükleyerek Azure Arc tarafından etkinleştirilen bir Postgres kurulumu yapmanız mümkün değildir. Bunun yerine yeni bir Postgres örneği oluşturmanız ve bu örneğe veri aktarmanız gerekir. Bunu yapmak için yukarıda gösterilen tekniği kullanabilir veya istediğiniz herhangi bir ETL aracını kullanabilirsiniz.

*Bu belgelerde Azure portalında oturum açma ve PostgreSQL için Azure Veritabanı oluşturma bölümlerini atlayın. Azure Arc dağıtımınızda kalan adımları uygulayın. Bu bölümler, Azure bulutunda PaaS hizmeti olarak sunulan PostgreSQL için Azure Veritabanı sunucusuna özeldir, ancak belgelerin diğer bölümleri Doğrudan Azure Arc özellikli PostgreSQL sunucunuz için geçerlidir.