Geçiş hizmetini kullanarak uzantı geçişi

PostgreSQL uzantıları gelişmiş dizin oluşturma, zaman serisi yönetimi, uzamsal veri işleme ve yabancı veri sarmalayıcıları gibi yeni özellikler ekleyerek veritabanı işlevselliğini geliştirir. Uzantılar, performans iyileştirme, veri dönüştürme ve dış sistemlerle tümleştirme gibi bunların ötesinde daha fazla özellik sağlar. Uzantılar yeni veri türlerini, işlevleri, işleçleri, dizin türlerini ve daha fazlasını içerebilir. Çekirdek veritabanı sistemini değiştirmeden PostgreSQL'in özelliklerini genişletir.

PostgreSQL için Azure Veritabanı Geçiş hizmeti, PostgreSQL için Azure Veritabanı esnek Sunucusunda kullanılabilen tüm uzantıların geçişini destekler. Geçiş hizmetini kullanarak geçişin başarılı olmasını sağlamak için kaynak PostgreSQL örneğinizde kullanılan uzantıları doğrulamanız önerilir. Uzantılar, uygulamanız için gerekli olabilecek temel işlevleri sağlar ve geçiş öncesinde bunları doğrulamak sorunsuz bir geçiş sağlamaya yardımcı olur.

Uzantıları taşıma adımları

PostgreSQL için Azure Veritabanı'nda geçiş hizmetini 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 sunucusunda, kaynak PostgreSQL örneğinde tanımlanan desteklenen uzantıları etkinleştirin.

Daha fazla bilgi için bkz. Uzantılara izin verme. Ayrıca bazı uzantılar shared_preload_libraries içine eklenmelidir. Bkz Kütüphaneleri yükleme

Uyarı

Parametresinde herhangi bir değişiklik shared_preload_libraries yaptığınızda yeniden başlatma gerekir.

Uzantılardaki yapılandırma tabloları

Bazı PostgreSQL uzantıları, uzantının işlevselliği için gereken meta verileri veya ayarları depolayan yapılandırma tablolarını tanımlar. Bu tablolar kullanıcıların yapılandırmaları belirli veri gereksinimlerine göre değiştirmesine olanak tanır. Geçiş hizmeti, aşağıdaki uzantılar için yapılandırma tablolarının geçirilmesini destekler:

  • TimescaleDB
  • postgis_topology
  • postgis_tiger_geocoder
  • pg_partman
  • postgres_fdw

Geçiş hizmeti, eğer extconfig sistem kataloğu tablosunun pg_extension sütununda listelenmişse, yapılandırma tablolarını geçiş için dikkate alır. Bu tablolar, uzantının işlevselliği için gereken kritik ayarları veya meta verileri içerir. Bu davranış, uzantı yapılandırma tablolarını yönetme şekliyle pg_dump uyumlu hale getirir ve geçiş işlemlerinde tutarlılık sağlar. Daha fazla bilgi için PostgreSQL belgelerine bakın: pg_dump genişletme uzantıları

Uyarı

PostgreSQL için Azure Veritabanı esnek Sunucusunda gereken süper kullanıcı ayrıcalıkları nedeniyle bazı yapılandırma tabloları geçişi başarısız olabilir

Önemli

extconfig sistem kataloğu tablosunun pg_extension sütununda referans verilmeyen tablolar hedefe aktarılmayacaktır. CDC sırasında bu tablolara başvurulmadığından emin olun, çünkü bu tablolara hiçbir veri yüklenmeyecektir.

postgres_fdw uzantısıyla ilgili dikkat edilmesi gerekenler

postgres_fdw modülü, dış PostgreSQL sunucularında depolanan verilere erişmek için kullanılabilen yabancı veri sarmalayıcı postgres_fdw sağlar. Veritabanınız bu uzantıyı kullanıyorsa, geçişin başarılı olmasını sağlamak için aşağıdaki adımların gerçekleştirilmesi gerekir.

  1. Kaynak örnekteki yabancı veri sarmalayıcısını geçici olarak kaldırın (bağlantısını kaldırın).
  2. Geçiş hizmetini kullanarak geri kalanın veri geçişini gerçekleştirin.
  3. Geçişten sonra yabancı veri sarmalayıcı rollerini, kullanıcıyı ve bağlantıları hedefe geri yükleyin.

postGIS uzantısıyla ilgili dikkat edilmesi gerekenler

postGIS uzantısında farklı sürümler arasında geriye dönük uyumluluğu bozan değişiklikler/uyumluluk sorunları vardır. Esnek bir sunucuya geçiş yaparsanız, uygulamanın etkilenmediğinden veya gerekli değişikliklerin yapılması gerektiğinden emin olmak için uygulamanın daha yeni postGIS sürümüne karşı denetlenmesi gerekir. PostGIS haberleri ve sürüm notları, sürümler arasında son dakika değişikliklerini anlamak için iyi bir başlangıç noktasıdır.

  • Geçiş topology_id_seq sırasında sıra sıfırlanmaz. Kullanıcıların yeni bir topoloji oluşturmadan önce el ile sıfırlaması gerekir.
  • Bazı işlevler kaldırıldı veya , ST_Quantileve ST_ApproxQuantilegibi MULTIPOINTşema değişiklikleri yapıldı. Bu değişiklikler geçiş hatalarına yol açabilir.

pg_partman geçişiyle ilgili dikkat edilmesi gerekenler

pg_partman (PG Bölüm Yöneticisi), zaman tabanlı ve seri tabanlı tablo bölümleme için bölüm yönetimini otomatik hale getiren bir uzantıdır. Bölümlerin oluşturulmasını, elde tutulmasını ve bakımını yöneterek bölüm işlemeyi basitleştirir.

  • Hataya neden olan değişiklik: Uzantı yapılandırma tablolarındaki önemli yapısal değişiklikler nedeniyle sürüm 4.* sürümünden 5.* sürümüne geçiş başarısız oluyor.
  • Tetikleyici tabanlı bölümleme: pg_partman 5.x, tetikleyici tabanlı bölümlemesi desteklemez. Kullanıcıların geçişten önce tetikleyici tabanlı bölümlemeden yerel PostgreSQL bölümlerine geçiş yapması gerekir.
  • Premigration ile ilgili dikkat edilmesi gerekenler: Kullanıcılar, geçiş işlemi sırasında bölümleri yeniden oluşturan arka plan işinin (örneğin cron, BGP) çalışmadığından emin olmalıdır.

TimescaleDB geçişi

TimescaleDB Uzantı, PostgreSQL uzantısı olarak paketlenmiş bir zaman serisi veritabanıdır. Zaman odaklı analitik işlevler ve iyileştirmeler sağlar ve postgreSQL'i zaman serisi iş yükleri için ölçeklendirir. Timescale, Inc. PostgreSQL için Azure Veritabanı esnek sunucusunun kayıtlı ticari markası olan TimescaleDB hakkında daha fazla bilgi edinin. TimescaleDB Apache-2 sürümü sağlanır ve geçiş hizmeti de aynı desteği sunar.

Uyarı

Zaman serisi veritabanları için yalnızca Çevrimdışı geçiş mümkündür.

Geçiş öncesinde uzantıların doğru doğrulanmasını ve yapılandırılmasını sağlayarak PostgreSQL için Azure Veritabanı esnek Sunucusu'na sorunsuz bir geçiş yapmak için PostgreSQL için Azure Veritabanı geçiş hizmetini kullanabilirsiniz.