DBAtlas · Veritabanı operasyon atlası

Uyumluluk seviyesi / feature version ayarla

Oracle

-- COMPATIBLE başlatma parametresini yükselt (geri alınamaz!):
ALTER SYSTEM SET COMPATIBLE = '19.0.0' SCOPE=SPFILE;
-- Ardından örnek yeniden başlatılır. Mevcut değeri görmek için:
SHOW PARAMETER compatible;

COMPATIBLE parametresi hangi sürüm özelliklerinin ve dosya biçimlerinin etkin olacağını belirler. Yükseltildikten ve örnek yeniden başlatıldıktan sonra GERİ ALINAMAZ (downgrade engellenir); bu nedenle yükseltme başarısı doğrulanana kadar kademeli artırmak önerilir.

PostgreSQL

# Uygulanamaz: PostgreSQL'de veritabanı uyumluluk seviyesi yoktur.
# Eski davranış istenirse ilgili GUC'lar ayarlanır (örn. SET standard_conforming_strings=off)
# veya major geçiş dump/restore ile yönetilir.

PostgreSQL'de SQL Server/Oracle gibi bir 'uyumluluk seviyesi' kavramı yoktur; sürüm davranışı doğrudan ikili sürüme bağlıdır. Sürümler arası taşıma pg_dump/pg_restore veya pg_upgrade ile yapılır.

MySQL

# Uygulanamaz: MySQL'de ayarlanabilir bir veritabanı uyumluluk seviyesi yoktur.
# Davranış farkları sql_mode ile yönetilir:
SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION';

MySQL'de sürüm bazlı bir uyumluluk seviyesi bulunmaz; SQL davranışı çoğunlukla ikili sürüme ve sql_mode ayarına bağlıdır. Eski uygulama davranışını korumak için sql_mode ince ayar yapılır.

SQL Server

-- Veritabanı uyumluluk seviyesini ayarla (örn. SQL Server 2022 = 160):
ALTER DATABASE Satis SET COMPATIBILITY_LEVEL = 160;
-- Mevcut değeri görmek için:
SELECT name, compatibility_level FROM sys.databases;

COMPATIBILITY_LEVEL sorgu optimizer'ının ve dil özelliklerinin hangi sürüm gibi davranacağını belirler (150=2019, 160=2022). Örneği yükselttikten sonra veritabanları eski seviyede kalabilir; kademeli yükseltip plan gerilemelerini izlemek önerilir. Geri düşürülebilir.

MongoDB

// Özellik Uyumluluk Sürümünü (FCV) ayarla:
db.adminCommand({ setFeatureCompatibilityVersion: "7.0", confirm: true })
// Mevcut değeri oku:
db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })

FCV, sürümle gelen kalıcı veri biçimi değişikliklerinin ve yeni özelliklerin ne zaman etkinleşeceğini denetler. İkili yükseltildikten sonra küme kararlıyken artırılır; düşürmek yalnızca aynı ikili sürüm bir alt FCV'yi hâlâ destekliyorsa mümkündür.

Redis

# Uygulanamaz: Redis'te uyumluluk seviyesi / feature version kavramı yoktur.
# Davranış doğrudan çalışan ikili sürüme bağlıdır.

Redis'te ayarlanabilir bir uyumluluk seviyesi bulunmaz; özellik kümesi tamamen çalışan sürüme bağlıdır. Uyumluluk yalnızca RDB/AOF dosya biçimi düzeyinde ileriye dönük olarak korunur.

Elasticsearch

# Uygulanamaz: Elasticsearch'te ayarlanabilir uyumluluk seviyesi yoktur.
# İndeks, oluşturulduğu sürümün biçimine bağlıdır; çok eski indeksler
# yeni sürümde okunamaz ve reindex gerektirir.

Elasticsearch'te uyumluluk seviyesi ayarı yoktur; her index oluşturulduğu büyük sürümün biçimini taşır. Bir önceki büyük sürümde oluşturulmuş index'ler okunabilir, daha eskiler ise yeni sürüme _reindex ile taşınmalıdır.

DBAtlas'ta aç →