DBAtlas · Veritabanı operasyon atlası

Güncellemesi bekleyen eklentileri bul ve güncelle

PostgreSQLEklenti

Komut

SELECT e.extname,
       e.extversion AS installed,
       a.default_version AS available,
       n.nspname AS schema_name,
       format('ALTER EXTENSION %I UPDATE;', e.extname) AS fix
FROM pg_extension e
JOIN pg_available_extensions a ON a.name = e.extname
JOIN pg_namespace n ON n.oid = e.extnamespace
WHERE e.extversion IS DISTINCT FROM a.default_version
ORDER BY e.extname;

-- Güncelleme yolu var mı?
SELECT * FROM pg_extension_update_paths('pgstattuple') WHERE path IS NOT NULL;

ALTER EXTENSION pgstattuple UPDATE;

Ne yapar?

Her eklentinin veritabanındaki kurulu sürümünü, sunucuda yüklü package'ın varsayılan sürümüyle karşılaştırır ve güncelleme bekleyenler için ALTER EXTENSION komutunu üretir.

Ne zaman kullanılır?

PostgreSQL minor/major yükseltmesinden ve extension package güncellemesinden sonra, periyodik bakımda.

Dikkat

OS package'ını yükseltmek SQL tarafını otomatik güncellemez; ALTER EXTENSION ... UPDATE her veritabanında ayrı çalıştırılmalıdır (pg_upgrade sonrası özellikle önemli). Güncelleme script'i lock alabilir ve nesneleri değiştirebilir (ör. PostGIS); önce test ortamında dene ve sürüm notlarını oku. Belirli sürüme geçmek için: ALTER EXTENSION pgstattuple UPDATE TO '1.5'; Bazı eklentiler (ör. pg_stat_statements) ayrıca shared library'nin restart ile yeniden yüklenmesini gerektirir.

DBAtlas'ta aç →

İlgili