PostgreSQL – settings detaylarını listeleme

6 Şub by Şahap AŞÇI

PostgreSQL – settings detaylarını listeleme

PostgreSQL’in yönetimini kolaylaştıran özelliklerinden biri temel dokümanını kendi içerisinde barındırmasıdır. Bir konfigurasyonun kısa açıklamasını, hangi değerleri alabileceğini veya kimler tarafından değiştilebileceğini servar’a sorarak kolayca öğrenebiliriz. Bu bilgiler PostgreSQL’e dışarıdan eklediğimiz extension ayarları için bile geçerlidir. Tabi ki aynı bilgiler ve çok daha fazla detay Internet üzerinde bulunan dokümantasyonunda yazmaktadır. Üzerinde değişiklik yaparken değiştireceğiniz değerle ilgili açıklamayı yanında görmek her zaman daha pratik.

Örneğin postgresql.conf dosyası üzerinde log ayarlarına bakalım;

Gördüğünüz gibi tüm ilgili açıklamalar ilgili ayarların yanında yazıyor. Eğer bir değişikliği yapmanız için servisi restart etmek gerekiyorsa onunla ilgili bilgilendirme de burada yazıyor. (change requires restart)

Şimdi aynı ayarlara sql sorgusu ile bakalım; Aşağıdaki sorguda ismi ‘log_’ ile başlayan ayarları listele diyoruz.

SELECT * FROM pg_settings WHERE name LIKE 'log_%';

Sonuç aşağıdaki gibi olacaktır;

Bazı alanlarla ilgili açıklamalar aşağıda. Detayları referansta bulunan dokümantasyon bağlantısı üzerinde bulabilirsiniz.

name Parametre ismi
setting Mevcut durumdaki değeri
category Ayar grubu
short_desc Kısa açıklaması
context Ayarın hangi bağlamda değiştirilebilir olduğu. Bazı ayarları normal seviye kullanıcılar kendi session’ları için değiştirebilirken bazırlarını sadece super user’lar tarafından değiştirebilir. Yukarıda, konfigurasyon dosyasında gördüğümüz gibi bazı ayarlar servisin tekrar başlatılmasını gerektririken, bazı ayarlar initdb aşamasından sonra tekrar değiştirilemez. Yani cluster oluşturulduktan sonra bir daha değiştirilemez. Olası değerler: internal, postmaster, sighup, superuser-backend, backend, superuser, user
min_val Minimum alabileceği değer
max_val Maximum alabileceği değer
enumvals Alabileceği değer sayısal bir değer değilse değiştirilebilecek değerlerin listesi.
reset_val Değeri varsayılan değerine atadığımızda alacağı değer.
pending_restart Eğer restart isteyen bir değer değiştirilmiş ama henüz restart edilmemişse t yoksa f

Gördüğünüz gibi özellikle daha önce ne işe yaradığını bildiğiniz bir ayarı değiştirirken neydi bunun değerleri diye Internet’te araştırmaya gerek yok. Her şey elinizin altında.

PostgreSQL restart isteyen setting’ler

Yukarıdaki bilgilerden faydalanarak PostgreSQL’e soralım. Konfigurasyonda hangi değerleri değiştirirken restart etmemiz gerekiyor?

SELECT 
s.category, s.name, s.short_desc
FROM pg_settings s WHERE s.context = 'postmaster'
ORDER BY 2,1

Referanslar

  • https://www.postgresql.org/docs/current/static/view-pg-settings.html

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir