Ekinlikler
POSETTE Postgres için Bir Olay
10 Haz 23 - 12 Haz 23
Teklif Çağrısı, bu ücretsiz ve sanal geliştirici etkinliği için 9 Şubat'a kadar açıktır.
Kullanmaya başlayınBu tarayıcı artık desteklenmiyor.
En son özelliklerden, güvenlik güncelleştirmelerinden ve teknik destekten faydalanmak için Microsoft Edge’e yükseltin.
Bu makalede PostgreSQL veritabanınızı Amazon Aurora'dan çevrimiçi PostgreSQL için Azure Veritabanı geçirme işlemi açıklanır.
PostgreSQL için Azure Veritabanı'daki geçiş hizmeti, Azure portalı ve Azure CLI ile tümleştirilmiş tam olarak yönetilen bir hizmettir. PostgreSQL için Azure Veritabanı geçiş yolculuğunuzu basitleştirmek için tasarlanmıştır.
Bu öğreticide şunları yaptınız:
PostgreSQL için Azure Veritabanı'da geçiş hizmetini kullanarak bir geçişe başlamadan önce aşağıdaki önkoşulları tamamlamak önemlidir. Bu önkoşullar özellikle çevrimiçi geçiş senaryoları için tasarlanmıştır.
Kaynak PostgreSQL sunucu sürümü 9.5 veya üzeri olmalıdır. Kaynak PostgreSQL sürümü 9.5'ten eskiyse, geçişi başlatmadan önce sürümü 9.5 veya sonraki bir sürüme yükseltin.
test_decoding eklentisi hakkında daha fazla bilgi için PostgreSQL belgelerine bakın.
Geçişe başlamadan önce Azure'da bir PostgreSQL için Azure Veritabanı örneği oluşturmanız gerekir. PostgreSQL için Azure Veritabanı - Esnek Sunucu için sağlanan SKU kaynakla eşleşmelidir.
Daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı - Esnek Sunucu örneği oluşturma.
test_decoding mantıksal kod çözme eklentisi, değiştirilen kayıtları kaynaktan yakalar.
Geçiş kullanıcısının çoğaltma izinlerine erişmesine izin vermek için aşağıdaki komutu yürütebilirsiniz:
GRANT rds_replication TO <username>;
Kaynak PostgreSQL örneğinde, yeni bir parametre grubu oluşturarak veritabanı kümeleri parametre grubunda aşağıdaki parametreleri değiştirin:
rds.logical_replication
seçeneğini 1
olarak ayarlayın.1
bir değere ayarlayınmax_replication_slots
. Değer, geçiş için seçtiğiniz veritabanı sayısından büyük olmalıdır.1
bir değere ayarlayınmax_wal_senders
. Değerin değeriyle en az aynı değerin max_replication_slots
yanı sıra örneğinizde zaten kullanılan gönderenlerin sayısı olmalıdır.wal_sender_timeout
belirtilen sayıda milisaniyeden daha uzun olan etkin olmayan çoğaltma bağlantılarını sonlandırır. Amazon Aurora PostgreSQL örneği için varsayılan değer: 30000 milliseconds (30 seconds)
. değerinin ayarlanıp 0 (zero)
zaman aşımı mekanizması devre dışı bırakılır ve geçiş için geçerli bir ayardır.Hedef esnek sunucuda, çevrimiçi geçişin günlükleri depolamak için depolama alanının dolmasını önlemek için sağlanan yönetilen diski kullanarak tablespace alanınızda yeterli depolama alanı olduğundan emin olun. Geçiş süresi boyunca sunucu parametresini azure.enable_temp_tablespaces_on_local_ssd
devre dışı bırakın. Geçiş sonrasında parametresini özgün duruma geri yükleyin.
Geçiş hizmetinin düzgün çalışması için ağ kurulumu çok önemlidir. Kaynak PostgreSQL sunucusunun PostgreSQL için Azure Veritabanı hedef sunucuyla iletişim kuraadığından emin olun.
Ağ kurulumu hakkında bilgi için bkz . Geçiş hizmeti için ağ senaryoları.
geçiş hizmetini PostgreSQL için Azure Veritabanı kullanarak geçişin başarılı olmasını sağlamak için kaynak PostgreSQL örneğinizdeki uzantıları doğrulamanız gerekebilir. Uzantılar, uygulamanız için gerekli olabilecek işlevler ve özellikler sağlar. Geçiş işlemini başlatmadan önce kaynak PostgreSQL örneğindeki uzantıları doğruladığınızdan emin olun.
PostgreSQL için Azure Veritabanı - Esnek Sunucu'nun hedef örneğinde, kaynak PostgreSQL örneğinde tanımlanan desteklenen uzantıları etkinleştirin.
Daha fazla bilgi için bkz. PostgreSQL için Azure Veritabanı uzantılar.
Not
Parametresinde herhangi bir değişiklik shared_preload_libraries
yaptığınızda yeniden başlatma gerekir.
Sunucu parametreleri otomatik olarak hedef ortama geçirilmez ve el ile yapılandırılması gerekir.
Kaynak PostgreSQL veritabanındaki sunucu parametre değerlerini PostgreSQL için Azure Veritabanı örneğiyle eşleştirin. Azure portalında Sunucu parametreleri'ne gidin ve değerleri el ile güncelleştirin.
Parametre değişikliklerini kaydedin ve gerekirse yeni yapılandırmayı uygulamak için PostgreSQL için Azure Veritabanı örneğini yeniden başlatın.
PostgreSQL için Azure Veritabanı geçiş yaptığınızda, el ile müdahale gerektirdiğinden kullanıcıların ve rollerin geçişini ayrı ayrı ele almak önemlidir.
Kullanıcı ve rollerin el ile geçişi: Kullanıcılar ve ilişkili rolleri el ile PostgreSQL için Azure Veritabanı örneğine geçirilmelidir. Bu işlemi kolaylaştırmak için pg_dumpall yardımcı programını bayrağıyla birlikte --globals-only
kullanarak roller ve kullanıcı hesapları gibi genel nesneleri dışarı aktarabilirsiniz.
Aşağıdaki kodu yürütün. değerini <username>
gerçek kullanıcı adıyla değiştirin ve değerini çıkış dosyası için kullanmak istediğiniz adla değiştirin <filename>
.
pg_dumpall --globals-only -U <username> -f <filename>.sql
Süper kullanıcı rollerinde kısıtlama: PostgreSQL için Azure Veritabanı süper kullanıcı rollerini desteklemez. Geçiş öncesinde süper kullanıcı izinleri kaldırılmalıdır. İzinleri ve rolleri uygun şekilde ayarladığınızdan emin olun.
Bu adımları tamamlayarak, süper kullanıcı kısıtlamalarıyla ilgili sorunlar olmadan kullanıcı hesaplarının ve rollerinin doğru şekilde PostgreSQL için Azure Veritabanı geçirildiğinden emin olabilirsiniz.
Geçişi başlatmadan önce hedef ortamda yüksek kullanılabilirliği (güvenilirlik) ve okuma amaçlı çoğaltmaları devre dışı bırakmanız kritik önem taşır. Bu özelliklerin yalnızca geçiş tamamlandıktan sonra etkinleştirilmesi gerekir.
Azure portalını veya Azure CLI'yi kullanarak geçiş yapabilirsiniz.
Azure portalı, geçişte size yol gösterecek basit ve sezgisel bir sihirbaz tabanlı deneyim sunar. Bu öğreticide özetlenen adımları tamamlayarak veritabanınızı sorunsuz bir şekilde PostgreSQL için Azure Veritabanı Esnek Sunucu'ya aktarabilir ve güçlü özelliklerinden ve ölçeklenebilirlik özelliklerinden yararlanabilirsiniz.
Azure portalını kullanarak geçiş yapmak için önce geçiş görevini yapılandırın. Ardından, kaynağa ve hedefe bağlanın ve geçişi başlatın.
Azure portalında geçiş görevini yapılandırmak için:
Web tarayıcınızı açın ve Azure portalına gidin. Oturum açmak için kimlik bilgilerinizi girin.
PostgreSQL için Azure Veritabanı - Esnek Sunucu örneğine gidin.
Hizmet menüsünde Geçiş'i seçin.
Amazon Aurora'dan esnek bir sunucuya geçmek için Oluştur'u seçin.
Geçiş hizmetini ilk kez kullandığınızda, ilk geçişinizi başlatmak için bir istem içeren boş bir kılavuz görüntülenir. Esnek sunucu hedefinize geçişler zaten oluşturulduysa kılavuzda geçiş girişimiyle ilgili bilgiler bulunur.
Geçiş ayarlamak üzere bir dizi sekmede adım adım ilerleyebilmek için Oluştur'u seçin.
Aşağıdaki bilgileri girin veya seçin:
Geçiş adı: Bu esnek sunucu hedefine yapılan her geçiş için benzersiz bir tanımlayıcı girin. Geçiş adında yalnızca alfasayısal karakterler ve kısa çizgiler (-
) kullanabilirsiniz. Ad kısa çizgiyle başlayamaz ve hedef sunucu için benzersiz olmalıdır. Aynı esnek sunucu hedefine yapılan iki geçiş aynı ada sahip olamaz.
Kaynak sunucu türü: Bulut tabanlı PostgreSQL hizmeti, şirket içi kurulum veya sanal makine gibi PostgreSQL kaynağınıza karşılık gelen kaynak türünü seçin.
Geçiş seçeneği: Geçiş öncesi doğrulama için aşağıdaki seçeneklerden birini belirleyin:
Geçiş öncesi doğrulamalar için Doğrula veya Doğrula ve Geçir seçeneğini belirlemeniz iyi bir yöntemdir.
Daha fazla bilgi için bkz . Ön geçiş doğrulamaları.
Geçiş modu: Geçiş için modu seçin. Varsayılan seçenek Çevrimdışı'dır.
İleri: Kaynağa bağlan'ı seçin.
Geçiş çalışma zamanı sunucusu, geçiş hizmetinin özel bir özelliğidir. Çalışma zamanı sunucusu, geçiş sırasında bir aracı sunucu işlevi görür. Hedef sunucu olmayan PostgreSQL için Azure Veritabanı - Esnek Sunucu'nun ayrı bir örneğidir. Çalışma zamanı sunucusu, veritabanlarının yalnızca özel ağ üzerinden erişilebilen bir kaynak ortamdan geçişini kolaylaştırır.
Daha fazla bilgi için bkz . Geçiş çalışma zamanı sunucusu.
Kaynağa bağlan sekmesinde, veritabanı kaynağı için aşağıdaki bilgileri girin veya seçin:
Başarılı bir test bağlantısının ardından İleri: Geçiş hedeflerini seçin'i seçin.
Geçiş hedefini seçin sekmesinde abonelik, kaynak grubu ve sunucu adının yanı sıra esnek sunucu hedefi için aşağıdaki bilgileri girin veya seçin:
168.63.129.16
iletirse, bu , veya 198.1.0.2
flexibleserver.example.com
gibi flexibleserver.postgres.database.azure.com
bir PostgreSQL FQDN'sini içerebilir.postgres.database.azure.com
Başarılı bir test bağlantısının ardından İleri: Geçiş için veritabanlarını seçin'i seçin.
Geçiş için veritabanı seçin sekmesinde, kaynak PostgreSQL sunucunuzdan geçirmek için kullanıcı veritabanları listesinden seçim yapın.
Veritabanlarını seçtikten sonra İleri: Özet'i seçin.
Özet sekmesi, doğrulama veya geçiş oluşturmaya yönelik tüm kaynak ve hedef ayrıntılarını özetler. Ayrıntıları gözden geçirin ve Doğrulamayı ve Geçişi Başlat'ı seçin.
Doğrulamayı ve Geçişi Başlat'ı seçtikten birkaç saniye sonra doğrulama veya geçiş oluşturma işleminin başarılı olduğunu belirten bir bildirim görüntülenir. Esnek Sunucu örneği Geçiş bölmesine yönlendirilirsiniz. Durum girdisi InProgress ve alt durum PerformingPreRequisiteSteps şeklindedir. İş akışının geçiş altyapısını ayarlaması ve ağ bağlantılarını denetlemesi 2-3 dakika sürer.
Geçişleri görüntüleyen kılavuzda şu sütunlar bulunur:
Girişler başlangıç saatinin azalan sırasına göre görüntülenir ve en son girdi en üstte yer alır. Doğrulama veya geçiş çalıştırmasının durumunu yenilemek için menü çubuğunda Yenile'yi seçebilirsiniz.
İlişkili ayrıntıları görmek için geçiş listesinden geçişin adını seçin.
Kurulum sekmesinde Doğrula ve Geçir geçiş seçeneğini belirleyin. Bu senaryoda, doğrulamalar geçiş başlamadan önce tamamlanır. PerformingPreRequisiteSteps alt durumu tamamlandıktan sonra iş akışı Doğrulama Sürüyor alt durumuna geçer.
Doğrulamada hatalar varsa, geçiş Başarısız durumuna geçer.
Doğrulama herhangi bir hata olmadan tamamlanırsa geçiş başlatılır ve iş akışı Verileri Geçirme alt durumuna geçer.
Doğrulama ayrıntılarını örnek düzeyinde ve veritabanı düzeyinde de kontrol edebilirsiniz:
Örnek düzeyinde doğrulama:
PostgreSQL version >= 9.5
sunucu parametresi denetimi) için bağlantı denetimiyle ilgili doğrulamayı denetleyin.Veritabanı düzeyinde doğrulama:
Geçiş ve doğrulama için geçerli durumu geçiş ayrıntıları bölmesinde görebilirsiniz.
Aşağıdaki tablolarda bazı olası geçiş durumları ve alt durumlar açıklanmaktadır.
Durum | Açıklama |
---|---|
InProgress | Geçiş altyapısı kurulumu devam ediyor veya gerçek veri geçişi devam ediyor. |
İptal Edildi | Geçiş iptal edilir veya silinir. |
Başarısız oldu | Geçiş başarısız oldu. |
Doğrulama başarısız oldu | Doğrulama başarısız oldu. |
Başarılı | Geçiş başarılı oldu ve tamamlandı. |
WaitingForUserAction | Yalnızca çevrimiçi geçişlerde geçerlidir. Kullanıcının tam geçiş gerçekleştirmesi bekleniyor. |
Alt Durum | Açıklama |
---|---|
PerformingPreRequisiteSteps | Veri geçişi için altyapı kurulumu devam ediyor. |
Doğrulama Sürüyor | Doğrulama devam ediyor. |
MigratingData | Veri geçişi devam ediyor. |
TamamlanıyorMigration | Geçiş, tamamlanma işleminin son aşamalarındadır. |
Tamamlandı | Geçiş tamamlandı. |
Başarısız oldu | Geçiş başarısız oldu. |
Alt Durum | Açıklama |
---|---|
Başarısız oldu | Doğrulama başarısız oldu. |
Başarılı | Doğrulama başarılı oldu. |
Uyarı | Doğrulama bir uyarı gösterir. |
Geçir ve Doğrula ve Geçir her ikisi de görünürse, çevrimiçi geçişi tamamlamak için tam geçişi başlatmanın ek adımı gerekir. Temel verilerin kopyalanması ve kopyalanması tamamlandıktan sonra geçiş WaitingForUserAction durumuna ve WaitingForCutoverTrigger alt durumuna geçer. Bu durumda, kullanıcı geçişi seçerek portaldan tam geçişi tetikleyebilir.
Tam geçişi başlatmadan önce şunların sağlanması önemlidir:
latency
0'a düşer veya 0'a yakın.Değeri geçiş ayrıntıları bölmesinde alabilirsiniz latency
:
değeri, latency
hedefin kaynakla en son ne zaman eşitlendiğini gösterir. Bu noktada kaynağa yazma durdurulabilir ve tam geçiş başlatılabilir. Kaynak sunucuda yoğun trafik varsa, 0'a yaklaşabilmesi latency
için önce yazmaları durdurmanızı öneririz. Ardından tam geçişi başlatın.
Tam geçiş işlemi, kaynaktan hedefe bekleyen tüm değişiklikleri uygular ve geçişi tamamlar. için sıfır olmayan bir değerle latency
bile tam geçişi tetiklerseniz, çoğaltma o anda durur. Tam geçiş noktası hedefe uygulanana kadar tüm veriler kaynaktadır. Örneğin, tam geçiş noktasında gecikme süresi 15 dakikaysa, son 15 dakikadaki tüm değiştirilen veriler hedefe uygulanır. Tam geçişin tamamlanması için gereken süre, bu 15 dakika boyunca gerçekleşen değişikliklerin kapsamına bağlıdır. Bu nedenle, tam geçişi tetiklemeden önce gecikme süresinin sıfıra veya sıfıra yakın olmasını öneririz.
Verileri Geçirme alt durumu veya tam geçiş (çevrimiçi geçişte) başarıyla tamamlandığında geçiş Başarılı durumuna geçer. Verileri Geçirme alt durumunda bir sorun varsa, geçiş Başarısız durumuna geçer.
Veritabanı geçişi tamamlandığında, kaynak ve hedef arasındaki verileri el ile doğrulayın. Hedef veritabanındaki tüm nesnelerin başarıyla oluşturulduğunu doğrulayın.
Geçiş sonrasında şu görevleri tamamlayabilirsiniz:
Ekinlikler
POSETTE Postgres için Bir Olay
10 Haz 23 - 12 Haz 23
Teklif Çağrısı, bu ücretsiz ve sanal geliştirici etkinliği için 9 Şubat'a kadar açıktır.
Kullanmaya başlayın