Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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:
- Yedeklemeyi Backup kasasından bir depolama kapsayıcısına geri yükleyin.
- 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:
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.
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.
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.
Doğrulama başarılı olduktan sonra Gözden Geçir + geri yükle'yi seçin.
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.
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 fileveritabanı 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.sqlolduğ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:
Yeni hedef Esnek sunucuda tüm gerekli uzantıların etkinleştirildiğinden emin olun.
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.
Yeni sunucuda Microsoft Entra Kimlik Doğrulaması gerekiyorsa etkinleştirin ve ilgili Microsoft Entra yöneticilerini oluşturun.
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
CREATEDBsahip olduğundan emin olun.Veritabanını oluşturmak için
CREATE DATABASE Database_namekomutunu kullanın.Veritabanını geri yüklemek için
database.sql file'yi hedef yönetici kullanıcısı olarak kullanın.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>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.
-
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.sqldosyası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
NOSUPERUSERveNOBYPASSRLSgibi ö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_superusergibiazure_pg_adminTek 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.