Log Dosyasının İncelenmesi

logging_collector = on

log_destination = stderr

log_directory = log

#Bu ayarların aktif olabilmesi için restart etmek gerekir.

#log dosyasının truncate edilmesi;

postgres@srv1:~$ > /pg/data/13.6/log/postgresql-Mon.log

# Örnek

log_filename = 'postgresql-%a.log'

veya

log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'

Her veritabanının kendi log dosyası vardır. Veritabanındaki olaylar bu log dosyasına
yazılır. Defaultta /var/log/posgresql/ dizinine yazar.
(Örnek /var/log/postgresql/postgresql-13-main.log )

Loglama seviyesi değiştirilerek detaylı loglama yapılabilir.
log_directory parametresi ile loglar $PGDATA’ya yönlendirilebilir.

Veritabanının açılıp kapatılma bilgilerini,
Recover işlemlerini,
Başarısız erişim denemelerini,
Replikasyon bilgilerini,
Yazım (syntax) hatalarını,
Kullanılan kaynak darboğazlarını ve ip uçları gibi bilgileri içerir.

log_min_messages loglama seviyesini değiştirir (restart ister). Default loglama
seviyesi warning ‘ dir.
DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE,
WARNING, ERROR, LOG, FATAL, PANIC seçeneklerini alabilir. Detaylıdan detaysıza göre sıralanmıştır.
DEBUG seviyeleri artırıldığında log dosyası çok hızlı büyüyebilmektedir. Analizler
bitirildikten sonra ivedi olarak kapatılmalıdır.

Diskte yer kalmazsa WAL dosyalarına yazamayacağı için veritabanı duracaktır. Böyle bir
durumda log dosyası truncate edilere yer açılabilir.
Escape (%) kullanılmazsa log rotation kullanılmalıdır ki log dosyası çok büyümesin.
(logging_collector = on olduğunda etkin olur.)

log_destination stderr, syslog ve csv metodlarını destekler. CSV
formatındaki loglar, analiz yazılımlarına import edilebilir.

log_rotation_age bir log dosyasına maximum yazılacak süreyi belirler. Süre
dolunca yeni dosya oluşturur. Birim verilmeden set edilirse dakika olarak ayarlar.
(logging_collector = on olduğunda etkin olur.)
Örnek : log_rotation_age = 1d

log_line_prefix parametresiyle her satırın içereceği bilgiler belirlenebilir. Detay
için postgresql.conf dosyası incelenebilir.

log_min_duration_statement parametresinde verilen süreden daha uzun
süren SQL’leri loglar.
client_min_messages istemcilere gönderilecek mesajın detayı belirlenir.
debug5, debug4, debug3, debug2, debug1, log, notice,
warning, error seviyeleri vardır. Default ayar notice’dir.

Not:
1- Loglar syslog’a yönlendirilirse dynamic-linker, archive_command’ daki hata
mesajları görünmeyebilir.
2- logging collector hiçbir logu kaçırmayacak şekilde tasarlanmıştır. Aşırı yük olan
sistemlerde ek log mesajları gönderilmeye çalışılırken geride kalırsa server prosesleri
bloklayabilir. Böyle bir durumda, sistem, log yazmaktan feragat ederek sistemin
çalışmasına öncelik verir.

log_statement hangi SQL cümlelerinin loglanacağını kontrol eder. Default değer
none’ dır. DDL, MOD ve ALL değerlerini alabilir.
DDL : ddl cümlelerini,
MOD : ddl ve insert/update/delete/truncate/copy from/prepare/execute/explain
analyze cümlelerini,
ALL : Bütün SQL cümlelerini loglar.

Kategori seçin...