Aracılığıyla paylaş


Azure portalını kullanarak Azure PostgreSQL-Flexible sunucusunu Dosyalar olarak geri yükleme

Bu makalede, Azure portal kullanılarak yedeklenen dosyalar olarak bir Azure PostgreSQL-Flexible sunucusunun nasıl geri yükleneceği açıklanır.

Önkoşullar

PostgreSQL için Azure Veritabanı Esnek sunucu yedeklemelerinden geri yüklemeden önce aşağıdaki önkoşulları gözden geçirin:

  • Geri yükleme işlemi için gerekli izinlere sahip olduğunuzdan emin olun.

  • Yedekleme verileri, Microsoft kiracısındaki Yedekleme kasasında blob formatında depolanır. Geri yükleme işlemi sırasında yedekleme verileri kiracılar arasında bir depolama hesabından diğerine kopyalanır. Geri yükleme için hedef depolama hesabında AllowCrossTenantReplication özelliğinin true olarak ayarlandığından emin olun.

  • Yedeklemeyi dosya olarak geri yüklemek için hedef depolama hesabının genel ağ üzerinden erişilebilir olduğundan emin olun. Depolama hesabı özel bir uç nokta kullanıyorsa, geri yükleme işlemini yürütmeden önce genel ağ erişim ayarlarını güncelleştirin .

Azure PostgreSQL'i geri yükleme - Esnek sunucu yedeklemeleri dosya olarak

Uyarı

Geri yükleme işlemi iki adımlı bir işlemdir:

  1. Yedeklemeyi Backup kasasından bir depolama kapsayıcısına geri yükleyin.
  2. Yedekleme dosyalarını depolama kapsayıcısından yeni veya mevcut bir esnek sunucuya geri yükleyin.

Azure PostgreSQL-Flexible veritabanını geri yüklemek için şu adımları izleyin:

  1. Yedekleme kasası>Yedekleme Örnekleri'ne gidin. Geri yüklenecek PostgreSQL - Esnek sunucuyu seçin ve geri yükle'yi seçin.

    Alternatif olarak Yedekleme merkezi'ne gidip Geri Yükle'yi seçin.

  2. Geri yükleme noktasını seç'i kullanarak geri yüklemek istediğiniz noktayı seçin. Zaman aralığı seçerek tarih aralığını değiştirin.

  3. Parametreleri geri yükle sekmesinde hedef depolama hesabını ve kapsayıcıyı seçin. Son gözden geçirme ve geri yükleme işleminden önce geri yükleme parametreleri izinlerini denetlemek için Doğrula'yı seçin.

  4. Doğrulama başarılı olduktan sonra Gözden Geçir + geri yükle'yi seçin.

  5. Parametreleri son gözden geçirdikten sonra, hedef depolama hesabında seçili PostgreSQL - Esnek sunucu yedeklemesini geri yüklemek için Geri Yükle'yi seçin.

  6. Geri Yükleme işlemini gönderin ve Yedekleme işleri altında tetiklenen işi izleyin.

Geri yükleme işi başarıyla tamamlandıktan sonra, geri yüklenen veritabanlarını PostgreSQL – Esnek sunucunuzdan dosya (.sql dosyalar) olarak görüntülemek için depolama hesabı kapsayıcısına gidin. Azure Backup aşağıdaki yedekleme dosyalarını da oluşturur:

  • Database.sql file veritabanı başına: Belirli bir veritabanı için veri ve şema bilgilerini içerir.

  • Roles.sql files örneğin tamamı için: Sunucu düzeyinde var olan tüm rol bilgilerini içerir.

  • Tablespace.sql file: Tablespace dosyası.

  • Schema.sql file: Sunucudaki tüm veritabanları için şema bilgilerini içerir.

    Uyarı

    Şema zaten betiğin bir parçası database.sql olduğundan bu betiği PostgreSQL - Esnek sunucuda çalıştırmamanızı öneririz.

Yedekleme dosyalarını depolama kapsayıcısından yeni veya mevcut bir PostgreSQL – Esnek sunucuya geri yükleme

Yedekleme dosyalarını depolama kapsayıcısından yeni veya mevcut bir PostgreSQL – Esnek sunucuya geri yüklemek için şu adımları izleyin:

  1. Yeni hedef Esnek sunucuda tüm gerekli uzantıların etkinleştirildiğinden emin olun.

  2. Kaynak PostgreSQL veritabanındaki sunucu parametresi değerlerini, Azure portalındaki Sunucu parametreleri bölümüne erişerek ve değerleri uygun şekilde el ile güncelleştirerek PostgreSQL için Azure Veritabanı ile eşleştirin. Parametre değişikliklerini kaydedin ve ardından yeni yapılandırmayı uygulamak için PostgreSQL için Azure Veritabanı - Esnek sunucusunu yeniden başlatın.

  3. Yeni sunucuda Microsoft Entra Kimlik Doğrulaması gerekiyorsa etkinleştirin ve ilgili Microsoft Entra yöneticilerini oluşturun.

  4. Geri yükleme için yeni bir veritabanı oluşturun.

    Uyarı

    Veritabanını geri yüklemeden önce yeni, boş bir veritabanı oluşturmanız gerekir. Kullanıcı hesabınızın izinlere CREATEDB sahip olduğundan emin olun.

    Veritabanını oluşturmak için CREATE DATABASE Database_name komutunu kullanın.

  5. Veritabanını geri yüklemek için database.sql file'yi hedef yönetici kullanıcısı olarak kullanın.

  6. Hedef veritabanı oluşturulduktan sonra aşağıdaki komutu çalıştırarak döküm dosyasını bir Azure Depolama hesabından indirin:

    az storage blob download --container-name <container-name> --name <blob-name> --account-name <storage-account-name> --account-key <storage-account-key> --file <file-name>
    
  7. Ardından aşağıdaki komutu çalıştırarak bu veritabanındaki verileri döküm dosyasından geri yükleyin:

    pg_restore -h <postgres-server-url> -p <port> -U <username> -d <database-name> --no-owner -v <File Name>
    
    • --account-name: Hedef Depolama Hesabının adı.
    • --container-name: Blob kapsayıcısının adı.
    • --blob-name: Blobun adı.
    • --account-key: Depolama Hesabı Anahtarı.
    • -Fd: Dizin biçimi.
    • -j: İş sayısı.
    • -C: Veritabanını oluşturmak için çıkışa bir komutla başlayın ve sonra ona yeniden bağlanın.

    Uyarı

    Komut beklendiği gibi yürütülmezse, yalnızca dosya adını kullanmak yerine tam dosya yolunu belirtin.

    Alternatif olarak, yedekleme dosyasını indirebilir ve geri yüklemeyi doğrudan çalıştırabilirsiniz.

  8. Yalnızca gerekli rolleri ve ayrıcalıkları geri yükleyin ve yaygın hataları dikkate almayın. Uyumluluk gereksinimleri ve veri alımı için geri yükleme işlemini yerel yönetici olarak gerçekleştiriyorsanız bu adımı atlayın.

Geri yüklenen veritabanları için rolleri ve kullanıcıları geri yükleme

Kasalı yedeklemeler öncelikle test ve denetim gibi uyumluluk gereksinimleri için geri yüklenir. Yerel yönetici olarak oturum açabilir ve dosyayı kullanarak database.sql geri yükleyebilirsiniz; veri almak için başka rol gerekmez.

Yanlışlıkla silme koruması veya olağanüstü durum kurtarma gibi diğer kullanımlar için, kuruluşunuzun ihtiyaçlarına göre gerekli rollerin oluşturulduğunu doğrulayın. roles.sql ve database.sql arasında yinelemelerden kaçının.

  • Aynı Esnek sunucuyu geri yükleme: Rol geri yükleme gerekli olmayabilir.
  • Farklı bir Esnek sunucuya geri yükleme: Gerekli rolleri yeniden oluşturmak için roles.sql dosyasını kullanın.

roles.sql konumundan geri yükleme yaparken, bazı roller veya öznitelikler yeni hedef sunucu için geçerli olmayabilir.

Süper kullanıcı erişimi olan ortamlar için (şirket içi veya VM'ler), tüm komutları sorunsuz bir şekilde çalıştırabilirsiniz.

Esnek sunucu senaryosu için önemli noktalar

Önemli noktalar şunlardır:

  • Superuser-Only Özniteliklerini Kaldırma: Esnek sunucuda süper kullanıcı ayrıcalıkları yoktur. Rol dökümünden NOSUPERUSER ve NOBYPASSRLS gibi öznitelikleri kaldırın.
  • Service-Specific Kullanıcıları Dışla: Esnek Sunucu hizmetlerine ( azure_su, azure_pg_admin, , replication, localadmin) Entra Adminözgü kullanıcıları hariç tutun. Bu belirli hizmet rolleri, yöneticiler yeni Esnek sunucuya eklendiğinde otomatik olarak yeniden oluşturulur.

Veritabanı nesnelerini geri yüklemeden önce rolleri düzgün bir şekilde dışa aktarıp temizlediğinizden emin olun. Bu eylemi gerçekleştirmek için roles.sql depolama kapsayıcınızdan betiği indirin ve gerekli tüm oturum açma bilgilerini oluşturun.

  • Kayıt Dışı Roller Oluşturma: Rol oluşturma betiklerini çalıştırmak için yerel bir yönetici hesabı kullanın.
  • Microsoft Entra Rolleri Oluşturma: Microsoft Entra kullanıcıları için roller oluşturmanız gerekiyorsa, gerekli betikleri çalıştırmak için bir Microsoft Entra yönetici hesabı kullanın.

Aşağıdaki ekran görüntüsünde gösterildiği gibi rol betiğini depolama hesabınızdan indirebilirsiniz:

Çıkış dosyasını geçirirken, roles.sql yeni ortamda geçerli olmayan belirli rolleri ve öznitelikleri içerebilir. Aşağıdakileri göz önünde bulundurmanız gerekir:

  • Yalnızca süper kullanıcılar tarafından ayarlanabilen öznitelikler kaldırılıyor: Süper kullanıcı ayrıcalıklarına sahip olmadığınız bir ortama geçiş yaparsanız, rol dökümündeki NOSUPERUSER ve NOBYPASSRLS gibi öznitelikleri kaldırın.
  • Hizmete özgü kullanıcıları dışlama: veya azure_superusergibi azure_pg_admin Tek sunucu hizmeti kullanıcılarını dışlama. Bunlar hizmete özeldir ve yeni ortamda otomatik olarak oluşturulur.

Rol dökümünüzü temizlemek için aşağıdaki sed komutunu kullanın:

sed -i '/azure_superuser/d; /azure_pg_admin/d; /azuresu/d; /^CREATE ROLE replication/d; /^ALTER ROLE replication/d; /^ALTER ROLE/ {s/NOSUPERUSER//; s/NOBYPASSRLS//;}' roles.sql

Bu komut, azure_superuser çoğaltması ve azure_pg_admin ROLE çoğaltmasıyla başlayan , azuresu, , satırlarını içeren satırları siler ve ALTER ROLE deyimlerinden NOSUPERUSER ve NOBYPASSRLS özniteliklerini kaldırır.

Sonraki adımlar

Azure portalını kullanarak Azure PostgreSQL - Esnek Sunucu yedeklemesini yönetin.