Tüm Ürünler
Search
Belge Merkezi

ApsaraDB RDS:Upgrade a major version using blue-green deployment

Son Güncelleme:Oct 14, 2026

Bu konuda, mavi-yeşil dağıtım yöntemi kullanılarak bir ApsaraDB RDS for PostgreSQL örneğinin büyük sürümünün nasıl yükseltileceği açıklanmaktadır.

Önkoşullar

  • Örnek, ApsaraDB RDS for PostgreSQL 16 veya daha önceki bir sürümü çalıştırıyor olmalıdır.

  • Örnek, bir salt okunur örnek veya özel küme örneği olmamalıdır.

  • Babelfish etkinleştirilmemiş olmalıdır. Küçük motor sürüm numarası babelfish ile bitmemelidir.

Arka plan bilgileri

Mavi-yeşil dağıtımda, kaynak örnek yeni bir örneğe geri yüklenir ve ardından pg_upgrade aracıyla yeni örnek hedef sürüme yükseltilir. Kesim (cutover) işlemi gerçekleştirildiğinde, kaynak örneğin uç noktası otomatik olarak yeni örneğe yönlendirilir.

ApsaraDB RDS for PostgreSQL konsolu, büyük sürüm yükseltmeyi sıfır kesinti süresi modu ve yerinde yükseltme yöntemleriyle de destekler. Farklı yükseltme modlarının karşılaştırması için bkz. Büyük sürüm yükseltme çözümlerine giriş.

Yükseltme ücretleri

Mavi-yeşil dağıtım kullanarak büyük sürüm yükselttiğinizde sistem, kaynak örnek temel alınarak yeni bir örnek oluşturur. Yükseltme tamamlandıktan sonra aşağıdaki faturalama ayrıntılarını dikkate alın:

  • Kaynak örnek ve yeni örnek için faturalandırma devam eder.

  • Kaynak örneğin ücretleri ve faturalama yöntemi değişmez.

  • Yeni örneğin faturalama yöntemi, kaynak örnekinden farklı olabilir.


    Kaynak örnek faturalama yöntemi


    Yeni örnek faturalama yöntemi


    Abonelik/kullandıkça öde


    kullandıkça öde


    Serverless


    Serverless

    Not

    Maliyetleri düşürmek için, yeni örnekteki hizmetlerin kararlı olduğunu doğruladıktan sonra yeni örneğin faturalama yöntemini aboneliğe dönüştürmenizi ve kaynak örneği serbest bırakmanızı veya abonelikten çıkmanızı öneririz. Ancak aşağıdaki hususları göz önünde bulundurun:

    • Kaynak örneğiniz bir abonelik planındaysa ve abonelik süresi henüz dolmamışsa, yeni örnek kalan abonelik süresini devralamaz. Kaynak örneği serbest bırakmak finansal kayba neden olabilir. Abonelikten çıkma kuralları hakkında daha fazla bilgi için bkz. İade politikası.

    • Kaynak örneği satın alırken indirim aldıysanız, yeni örnek bu indirimi devralmaz. Yükseltmeden önce örnek abonelikten çıkma sayfasına giderek belirli iade tutarını kontrol edin ve işlemi sürdürüp sürdürmeyeceğinizi değerlendirin.

    • Abonelik örneği için iade tutarı ve zamanlaması, gerçek abonelikten çıkma faturasına tabidir. İade işlemi anında gerçekleşmez.

Dikkat edilmesi gerekenler

  • Hizmet etkisi: Kesim içeren mavi-yeşil dağıtım ile bir örneği yükseltirken, kesim işlemi sırasında kaynak örnek salt okunur duruma getirilir. Bu durum, birkaç dakika süren geçici bir bağlantı kesintisine neden olur. Yükseltmeyi yoğun olmayan saatlerde yapmanızı öneririz. Kesim olmadan yükseltme seçeneğini tercih ederseniz hizmetleriniz etkilenmez.

    • Kaynak örneğin salt okunur süresi, veritabanı nesnelerinin sayısına bağlıdır. Veritabanı nesne sayısı arttıkça salt okunur süresi uzar. Veritabanı nesne sayısı milyonlara ulaştığında, salt okunur süresi onlarca dakikaya hatta saatlere kadar uzayabilir. Veritabanı nesnelerinin sayısını görüntülemek için SELECT count(1) FROM pg_class; komutunu çalıştırabilirsiniz.

    • İstemci tarafından algılanan geçici bağlantı kesintisi süresi, DNS önbelleği yenileme süresine bağlıdır. Sanal anahtarı değiştirmeyi deneyebilir ve hizmet kesintisi süresini kullanarak istemcinin DNS önbelleği yenileme süresini tahmin edebilirsiniz.

    • Yükseltme süresi, örnekteki veritabanı nesnelerinin sayısına bağlıdır. Nesne sayısı ne kadar fazlaysa yükseltme o kadar uzun sürer. Büyük sürüm yükseltme sırasında görev ilerlemesini Görev Merkezi üzerinden izleyebilirsiniz.

    • Mavi-yeşil dağıtımda, kesim sonrası kaynak örneğin salt okunur duruma gelmesini istemiyorsanız yükseltmeden sonra rds_force_trans_ro_non_sup parametresini off olarak ayarlayın. Daha fazla bilgi için bkz. Örnek parametrelerini ayarlama.

  • Sürümler arası yükseltmeler: Yüksek performanslı yerel diskler kullanan ApsaraDB RDS for PostgreSQL 9.4 ve 10 örnekleri yalnızca cloud disk kullanan örneklere yükseltilebilir. Bunları doğrudan en fazla ApsaraDB RDS for PostgreSQL 14 sürümüne yükseltebilirsiniz. PostgreSQL 15 veya sonraki bir sürüme yükseltmek için öncelikle ara bir sürüme (PostgreSQL 9.4, 10, 11, 12, 13 veya 14'e; PostgreSQL 10, 11, 12, 13 veya 14'e yükseltilebilir) yükseltmeniz, ardından PostgreSQL 15 veya sonraki bir sürüme geçmeniz gerekir.

  • Çoğaltma yuvaları:

  • Sanal IP adresi: Kesim içeren mavi-yeşil dağıtımda, yükseltme sonrası yeni örneğin sanal IP adresi değişir. Güvenlik duvarı yapılandırmaları gibi ağ bağlantısını kontrol etmeniz gerekir.

    • Sanal IP adresi değişikliğinin etkisi: Uygulamanızda sanal IP adresini yapılandırdıysanız uygulamanızı yeni sanal IP adresini kullanacak şekilde güncellemeniz gerekir.

    • Önerilen çözüm: Manuel yapılandırmanın karmaşıklığını önlemek için uygulamanızda doğrudan örneğin uç noktasını yapılandırmanızı öneririz. Örnek uç noktasını elde etme bilgisi için bkz. Uç noktayı ve bağlantı noktası numarasını görüntüleme veya değiştirme.

  • Parametre değişiklikleri:

    • Hedef sürüm tarafından desteklenmeyen parametreler otomatik olarak silinir.

    • Değerleri hedef sürüm için geçerli aralığın dışında kalan parametreler, hedef sürümün parametre şablonunun varsayılan değerlerine sıfırlanır.

    • statement_timeout değeri, yükseltme sırasında geçici olarak 0 olarak ayarlanır ve sonrasında orijinal değerine geri döndürülür.

  • DTS görevleri:

    Örnek, Data Transmission Service (DTS) için kaynak veya hedef konumundaysa yükseltme sonrası DTS görevini yeniden oluşturun.

  • Eklenti uyumluluk sorunları: Büyük sürüm yükseltmesi yaparken sistem, örneği otomatik olarak en son küçük motor sürümüne günceller; bu durum eklenti uyumluluk sorunlarına neden olabilir.

  • Yeni örnek, kaynak örneğin Instance Name, etiketlerini, CloudMonitor uyarı kurallarını veya yedekleme verilerini devralmaz.

Adım 1: Yükseltme öncesi kontrol

  1. ApsaraDB RDS konsoluna giriş yapın ve Örnekler sayfasına gidin. Üst gezinme çubuğunda RDS örneğinin bulunduğu bölgeyi seçin. Ardından ilgili RDS örneğini bulun ve örnek kimliğine tıklayın.

  2. (İsteğe bağlı) Yükseltilecek örneğin bir salt okunur örneği varsa, uygulamanızdaki salt okunur örnek uç noktasını birincil örneğin uç noktasıyla değiştirin ve ardından salt okunur örneği silin.

    Not

    Hizmet kararlılığını sağlamak için uygulama uç noktasını yoğun olmayan saatlerde değiştirmenizi öneririz.

  3. Sol gezinme bölmesinde Major Version Upgrade öğesine tıklayın.

    Not

    Sol gezinme bölmesinde Major Version Upgrade görüntülenmiyorsa ApsaraDB RDS for PostgreSQL örneğinizin sürümünü ve yapılandırmasını kontrol edin. Daha fazla bilgi için bkz. Önkoşullar.

  4. Upgrade Check sekmesinde Create upgrade check report seçeneğine tıklayın.

  5. Bir yükseltme sürümü seçin, Upgrade Mode seçeneğini Blue-green Deployment olarak ayarlayın ve ardından OK seçeneğine tıklayın. Örnek durumu Örnek Bakımda olarak değişir. Kontrol tamamlandığında durum Çalışıyor haline gelir.

  6. Kontrol sonucunu inceleyin: Kontrol sonuçlarını yorumlama yardımı için bkz. ApsaraDB RDS for PostgreSQL büyük sürüm yükseltme kontrol raporunu yorumlama.

    • Başarılı veya Warning ise Adım 2'ye geçin.

    • Başarısız ise View Information seçeneğine tıklayın, bildirilen sorunları giderin ve kontrolü yeniden çalıştırın.

    Önemli

    - Sonuç Warning ise bildirilen tüm sorunları giderin ve sonuç Başarılı olana kadar kontrolü yeniden çalıştırın. - Başarılı bir kontrolden sonra birincil örnekte bir eklenti oluşturursanız yükseltmeden önce kontrolü yeniden çalıştırın.

Adım 2: Büyük sürümü yükseltme

  1. Upgrade Instance sekmesine tıklayın, uyarıyı okuyun, Select an upgrade version ve ardından Create Upgrade Task seçeneğine tıklayın.

  2. Açılan iletişim kutusunda mesajı okuyun ve OK seçeneğine tıklayın.

  3. Create Major Engine Version Upgrade Task bölümünde, Upgrade Mode seçeneği Blue-green Deployment olarak ayarlanır. Yükseltme parametrelerini yapılandırın. Aşağıdaki tabloda ana parametreler açıklanmaktadır.

    Parametre

    Açıklama

    Storage type

    • Yeni örnek yalnızca ESSD'leri ve yüksek performanslı cloud diskleri destekler. Bir ESSD seçerseniz performans düzeyini (PL) değiştirebilirsiniz.

    • Kaynak örnek bir cloud disk kullanıyorsa yeni örnek aynı depolama türünü kullanmalıdır. Kaynak örnek yüksek performanslı yerel disk kullanıyorsa yeni örnek bir ESSD kullanmalıdır.

      Not
      • Bir ESSD'nin minimum depolama kapasitesi PL'ye göre değişir. PL'yi değiştirdiğinizde örneğin minimum depolama kapasitesi seçilen PL'ye göre otomatik olarak ayarlanır. Yeni değerin gereksinimleri karşıladığından emin olun.

      • Kaynak örnek yüksek performanslı yerel disk kullanıyorsa yeni örnek yalnızca ESSD kullanabilir.

    The Available Zone

    Bu parametreler, yeni birincil ve ikincil örnekleri farklı kullanılabilirlik alanlarına yerleştirmenize olanak tanır.

    For Available Zone

    Primary Instance Switch

    Standby Instance Switch

    Cutover configuration

    Gereksinimlerinize bağlı olarak trafiğin yeni örneğe geçirilip geçirilmeyeceğini seçin.

    • No cutting: Trafik otomatik olarak geçirilmez. Bu seçenek genellikle resmi yükseltmeden önce hizmetlerinizin yeni sürümle uyumluluğunu test etmek için kullanılır.

    • Cutover: Trafik otomatik olarak geçirilir. Bu seçenek genellikle hizmetlerinizin yeni sürümde kararlı çalıştığını doğruladıktan sonra resmi yükseltme için kullanılır. Kesimden sonra uygulamanız otomatik olarak yeni örneğe bağlanır. Uygulamanızdaki veritabanı uç noktasını değiştirmeniz gerekmez.

    Not
    • Kesim işleminden sonra değişikliği geri alamazsınız. Bu seçeneği dikkatle seçin.

    • Kesim sırasında kaynak örnek salt okunur duruma getirilir; bu durum birkaç dakika süren geçici bir bağlantı kesintisine neden olur. Yükseltmeyi yoğun olmayan saatlerde yapmanızı öneririz. Kesimsiz seçeneği tercih ederseniz hizmetleriniz etkilenmez.

    • İlk denemeniz için No cutting seçeneğini belirlemenizi öneririz. Uygulama katmanını tamamen test edip doğruladıktan sonra yeni örneği serbest bırakın, yükseltme işlemini tekrarlayın ve nihai yükseltme için Cutover seçeneğini belirleyin.

    Storage space

    Yeni örnek için depolama kapasitesini seçin.

    Yüksek performanslı yerel disk kullanan bir örneğin büyük sürümünü yükseltirken depolama kapasitesini küçültebilirsiniz.

    Seçilebilecek minimum depolama kapasitesi aşağıdaki koşulları karşılamalıdır:

    • Aşağıdaki iki değerden daha küçük olanı:

      • Kaynak örneğin kullanılan depolama kapasitesi × %120. Sonuç (GB cinsinden) 5'in katı değilse sonucu en yakın 5'in katına yukarı yuvarlayın.

        Not

        Kaynak örneğin kullanılan depolama kapasitesini görüntülemek için Monitoring and Alerts sayfasına gidin ve Disk Space (MB) ölçümünü kontrol edin. Daha fazla bilgi için bkz. Gelişmiş izleme verilerini görüntüleme.

      • Kaynak örneğin depolama kapasitesi.

    • Bir ESSD için satın alınabilir minimum depolama kapasitesine eşit veya bundan büyük. Bu koşul karşılanmazsa aşağıdaki değerler satın alınabilir minimum depolama kapasitesi olarak kullanılır:

      • ESSD PL1: 20 GB.

      • ESSD PL2: 500 GB.

      • ESSD PL3: 1.500 GB.

    Not

    Örnekler:

    • Kaynak örneğinizin depolama kapasitesi 100 GB'dır ve bunun 70 GB'ı kullanılmaktadır. Büyük sürüm yükseltirken depolama türü olarak ESSD PL1 seçersiniz.

      Hesaplama: 70 × %120 = 84. Değer en yakın 5'in katına yukarı yuvarlanarak 85 olur. Dolayısıyla satın alınabilir minimum depolama kapasitesi 85 GB'dır.

    • Kaynak örneğinizin depolama kapasitesi 700 GB'dır ve bunun 350 GB'ı kullanılmaktadır. Büyük sürüm yükseltirken depolama türü olarak ESSD PL2 seçersiniz.

      Hesaplama: 350 × %120 = 420. 420 GB değeri, bir PL2 ESSD için satın alınabilir minimum depolama kapasitesi olan 500 GB'dan küçüktür. Dolayısıyla satın alınabilir minimum depolama kapasitesi 500 GB'dır.

    Instance specification

    Yeni örnek için örnek teknik özelliklerini seçin. Örnek teknik özellikleri hakkında daha fazla bilgi için bkz. Birincil ApsaraDB RDS for PostgreSQL örnek türleri.

  4. Create Now seçeneğine tıklayın.

    Örnek durumu Migrating olarak değiştiğinde yükseltme görevi başlamış demektir.

    Bir yükseltme için gereken süre, örnekteki veritabanı nesnelerinin sayısıyla yakından ilişkilidir. Veritabanı nesnesi sayısı ne kadar fazlaysa yükseltme o kadar uzun sürer. Büyük sürüm yükseltme sırasında yükseltme ilerlemesini Görev Merkezi üzerinden izleyebilirsiniz.

    Önemli
    • Bir yükseltme görevi oluşturduktan sonra bunu değiştiremez veya silemezsiniz.

    • Kaynak örnek Migrating durumundayken parametreleri değiştirme, örneği yeniden başlatma veya serbest bırakma gibi işlemleri yapamazsınız.

    • Görevi oluştururken Yetersiz Kaynak mesajı görünürse farklı bir Hedef Birincil Kullanılabilirlik Alanı seçeneğine geçin.

  5. Yükseltme sonucunu görüntüleyin.

    Hem kaynak hem de yeni örneğin durumu Running olduğunda yükseltme tamamlanmış demektir.

    Not
    • Kesimli mavi-yeşil dağıtım modunda, yükseltme sonrası trafik daha yeni bir sürüm çalışan yeni örneğe otomatik olarak geçirilir.

    • Kesimsiz mavi-yeşil dağıtım modunda, yükseltme sonrası trafik daha yeni bir sürüm çalışan yeni örneğe otomatik olarak geçirilmez.

    • Yükseltme tamamlandıktan sonra Upgrade History sekmesine gidin ve hedef yükseltme görevi için Upgrade Log sütunundaki View Information seçeneğine tıklayın. Örneğin salt okunur süresini ve ayrıntılı yükseltme sürecini görüntüleyebilirsiniz. Salt okunur süresi, Cutover Time ile Cutover End Time arasındaki süredir. Bu süre, DNS önbelleği yenilenmediği için örneğe erişilemediği dönemi kapsamaz.

    • Kesimsiz mavi-yeşil dağıtım için sistem, referansınız ve kesim senaryosunda tahmin yapmanız amacıyla Cutover Time ve Cutover End Time bilgilerini de görüntüler.

Sonraki adımlar

  1. Bir örneği kesimli mavi-yeşil dağıtım modunu kullanarak yükseltirseniz hizmetlerinizin yeni örnekte doğru çalıştığını doğruladıktan hemen sonra kaynak örneği serbest bırakın.

    Maliyet tasarrufu sağlamak için yeni örneğin faturalama yöntemini aboneliğe değiştirmenizi de öneririz.

    Not
    • Bir abonelik örneğini son kullanma tarihinden önce serbest bırakırsanız finansal kayba uğrayabilirsiniz.

    • Kaynak örneği satın alırken indirim aldıysanız yeni örnek bu indirimi devralmaz. Kaynak örnek için gerçek iade tutarı abonelikten çıkma sayfasında belirlenir.

    • İade tutarı ve işlem süresi nihai abonelikten çıkma faturasına dayanır ve anında gerçekleşmez.

  2. (İsteğe bağlı) Yeni örnek salt okunur örnekleri içermez. Yükseltmeden önce bir salt okunur örneği sildiyseniz aşağıdaki adımları uygulayın:

    1. Yeni örnek üzerinde bir ApsaraDB RDS for PostgreSQL salt okunur örneği oluşturun.

    2. Uygulamanızda uygulama uç noktasını birincil örnekten yeni salt okunur örneğin uç noktasına geri değiştirin.

Yükseltme sonuçları

Yükseltme sırasında, Upgrade Result sekmesindeki yükseltme kaydının Upgrade History sütunu aşağıdaki durumlardan birini gösterir.


Yükseltme sonucu


Örnek durumu


Açıklama


İşlemler


Running


Migrating


Yükseltme görevi devam ediyor.


Yok.


Succeeded


Running


Yükseltme görevi başarılı.


Yok.

API referansı

API işlemi Açıklama
UpgradeDBInstanceMajorVersionPrecheck Büyük sürüm yükseltme için yükseltme öncesi kontrolü çalıştırır.
DescribeUpgradeMajorVersionPrecheckTask Yükseltme öncesi kontrol raporunu sorgular.
UpgradeDBInstanceMajorVersion Büyük motor sürümünü yükseltir.
DescribeUpgradeMajorVersionTask Büyük sürüm yükseltme görevlerinin geçmişini sorgular.

İlgili konular

SSS

Büyük sürüm yükseltme sırasında örneği değiştirebilir miyim?

Hayır. Örnek türünü değiştirme dahil olmak üzere örnek değişiklikleri yükseltme sırasında desteklenmez. Diğer işlemleri yalnızca yükseltme tamamlandıktan sonra yapın.

Otomatik büyük sürüm yükseltmeleri destekleniyor mu?

Hayır. Büyük motor sürümlerine otomatik yükseltmeler desteklenmez.

Büyük sürüm düşürme destekleniyor mu?

Hayır. Yükseltmeden sonra daha düşük bir büyük sürüme düşürme desteklenmez. Daha düşük bir sürüm çalıştırmak için o sürümü çalıştıran yeni bir örnek satın alın ve verileri geçirmek için DTS kullanın.

Büyük sürüm yükseltmeden sonra hedef örnekte raster_overviews görünümü oluştururken raster_overviews çakışması oluşuyor. Bunu nasıl düzeltirim?

Bu çakışma, PostGIS sürümü 2.5.2'den önceyse ve kaynak örnek PostgreSQL 10 veya 11 çalıştırıyorsa ve siz PostgreSQL 12'ye yükseltiyorsanız ortaya çıkabilir.

Adım 1: Kaynak örnekteki PostGIS eklentisini yükseltin.

Komutun başarılı olduğundan emin olmak için aşağıdaki komutu iki kez çalıştırın.

SELECT PostGIS_Extensions_Upgrade();
SELECT PostGIS_Extensions_Upgrade();

Adım 2: PostGIS Raster eklentisini kullanıp kullanmadığınıza göre düzeltmeyi seçin.

PostGIS Raster eklentisi kullanılıyorsa:

  1. raster_overviews görünümünü eklentiden ayırmak için kaynak örnekte aşağıdakileri çalıştırın:

    ALTER EXTENSION PostGIS_Raster DROP VIEW raster_overviews;
    CREATE OR REPLACE VIEW raster_overviews AS SELECT 1;
  2. PostgreSQL örneğini en az PostgreSQL 12 sürümüne yükseltin.

  3. Yükseltmeden sonra hedef örnekte görünümü yeniden oluşturun:

    CREATE OR REPLACE VIEW raster_overviews AS
    SELECT
      current_database() AS o_table_catalog,
      n.nspname AS o_table_schema,
      c.relname AS o_table_name,
      a.attname AS o_raster_column,
      current_database() AS r_table_catalog,
      split_part(split_part(s.consrc, '''::name', 1), '''', 2)::name AS r_table_schema,
      split_part(split_part(s.consrc, '''::name', 2), '''', 2)::name AS r_table_name,
      split_part(split_part(s.consrc, '''::name', 3), '''', 2)::name AS r_raster_column,
      trim(both from split_part(s.consrc, ',', 2))::integer AS overview_factor
    FROM
      pg_class c,
      pg_attribute a,
      pg_type t,
      pg_namespace n,
      (SELECT connamespace, conrelid, conkey, pg_get_constraintdef(oid) AS consrc FROM pg_constraint) AS s
    WHERE
      t.typname = 'raster'::name
      AND a.attisdropped = false
      AND a.atttypid = t.oid
      AND a.attrelid = c.oid
      AND c.relnamespace = n.oid
      AND c.relkind = ANY(ARRAY['r'::char, 'v'::char, 'm'::char, 'f'::char])
      AND s.connamespace = n.oid
      AND s.conrelid = c.oid
      AND s.consrc LIKE '%_overview_constraint(%'
      AND NOT pg_is_other_temp_schema(c.relnamespace)
      AND has_table_privilege(c.oid, 'SELECT'::text);
    ALTER EXTENSION PostGIS_Raster ADD VIEW raster_overviews;

PostGIS Raster eklentisi kullanılmıyorsa:

  1. Kaynak örnekte eklentiyi kaldırın:

    DROP EXTENSION PostGIS_Raster;
  2. PostgreSQL örneğini en az PostgreSQL 12 sürümüne yükseltin.

Yükseltme sırasında çoğaltma yuvasının ele geçirilmesinden kaynaklanan veri tutarsızlığını nasıl önlerim?

  • Kaynak (daha düşük sürümlü) örnekteki abonelik verilerini korumanız gerekiyorsa kaynak örneğin yükseltme sırasında aşırı yük nedeniyle başarısız olmadığından emin olun. Aksi takdirde çoğaltma yuvası hedef (daha yüksek sürümlü) örnek tarafından ele geçirilebilir ve bu durum veri tutarsızlığına yol açabilir.

    Yükseltme tamamlandıktan sonra hedef örneğin veritabanındaki aboneliği devre dışı bırakmak için aşağıdaki SQL ifadesini çalıştırın:

    \c your_database
    ALTER SUBSCRIPTION your_subscription_name DISABLE;
  • Hedef örnekteki abonelik verilerini kaydetmeniz gerekiyorsa büyük sürümü yükseltmeden önce kaynak örnekteki aboneliği devre dışı bırakın. Yükseltme tamamlandıktan sonra hedef örnekteki aboneliği etkinleştirin. Aşağıdaki SQL ifadeleri referansınız içindir:

    • Kaynak örnekteki aboneliği devre dışı bırakın.

      \c your_database
      ALTER SUBSCRIPTION your_subscription_name DISABLE;
    • Hedef örnekteki aboneliği etkinleştirin.

      \c your_database
      ALTER SUBSCRIPTION your_subscription_name ENABLE;
Not

Yükseltmeden sonra abonelik verisi tutarsızlığını nasıl ele alırım?

Yükseltme başarıyla tamamlandıktan sonra hedef örnekteki (daha yüksek sürümü çalıştıran) tablo verilerini silin, ardından copy_data=true parametresiyle aboneliği yeniden oluşturun. Ayrıntılar için bkz. ALTER SUBSCRIPTION.

Alternatif olarak, kaynak örnek tarafından tüketilen verileri hedefte birleştirmek için ON CONFLICT yan tümcesini kullanın. Aşağıdaki örnek, çakışmaların zaman damgasına göre nasıl ele alınacağını göstermektedir:

CREATE TABLE my_tbl(id INT PRIMARY KEY, t TIMESTAMP, val TEXT);

INSERT INTO my_tbl VALUES (1, CURRENT_TIMESTAMP, 'a');
INSERT INTO my_tbl VALUES (2, CURRENT_TIMESTAMP, 'b');
INSERT INTO my_tbl VALUES (3, CURRENT_TIMESTAMP, 'c');

-- Update if the incoming row has a newer timestamp
INSERT INTO my_tbl VALUES (1, CURRENT_TIMESTAMP, 'd')
ON CONFLICT(id) DO UPDATE
  SET t = excluded.t, val = excluded.val
  WHERE my_tbl.t < excluded.t;

-- Skip if the incoming row has an older timestamp
INSERT INTO my_tbl VALUES (2, CURRENT_TIMESTAMP - '10 hours'::interval, 'e')
ON CONFLICT(id) DO UPDATE
  SET t = excluded.t, val = excluded.val
  WHERE my_tbl.t < excluded.t;

-- Insert new rows normally
INSERT INTO my_tbl VALUES (5, CURRENT_TIMESTAMP - '10 hours'::interval, 'f')
ON CONFLICT(id) DO UPDATE
  SET t = excluded.t, val = excluded.val
  WHERE my_tbl.t < excluded.t;

Neden büyük sürüm yükseltmeden önce salt okunur örnekleri silmem gerekiyor?

Yükseltmeden sonra kullanıcı tarafından oluşturulan salt okunur örnekler ve çoğaltma yuvaları kaynak örnekte kalır ve otomatik olarak yeni örneğe aktarılmaz. Bu nedenle büyük sürüm yükseltme yapmadan önce uygulamanızdaki salt okunur örnek uç noktasını birincil örneğin uç noktasıyla değiştirmeniz ve mevcut salt okunur örneği silmeniz gerekir. Yükseltme tamamlandıktan sonra yeni bir salt okunur örnek oluşturun ve yapılandırın.