giovedì 28 maggio 2009

Log Collector

PostgreSQL permettere di effettuare il log delle attività del database principalmente in due modi: il primo è tramite il classico syslog, il secondo è tramite un log collector. Quest'ultimo è un processo specializzato con il quale tutti i backend comunicano, e il cui unico scopo è quello di inserire su log le informazioni ricevute. L'uso del log collector consente di avere un log molto piu' pulito e completo rispetto a quello ottenuto con syslog, anche perché il primo puo' facilmente loggare informazioni circa il mancato caricamento di un modulo (ad esempio di linguaggio) o altro.
Il log collector viene abilitato agendo sul parametro di configurazione di postgresql.conf:

logging_collector = on
(richiede il riavvio del cluster)

Da questo momento il log collector è attivo e inizierà a memorizzare i log secondo le impostazioni fornite nel file postgresql.conf. E' possibile notare la differenza nel run-time nel caso di abilitazione o meno del log collector: con il log collector attivo la lista dei processi postgresql aumenta di una unità (il collector appunto).
Qualora poi le informazioni diventino troppe, o si voglia forzare una rotazione dei file di log, è possibile da un terminare invocare la funzione pg_rotate_logfile():

select pg_rotate_logfile();

e ottenere la creazione di un nuovo file di log.

Nessun commento: