Pour loguer uniquement dans le fichier de log la durée d'une requêtes qui dure plus de x millisecondes , il faut modifier le fichier de configuration postgresql.conf.
Chercher et modifier les valeurs des variables dans postgresql.conf :
- log_statement = 'none'
- log_duration = off
- log_min_duration_statement = <valeur_en_millisecondes>
Exemple pour toutes requêtes supérieures à 4 secondes mettre :
log_statement = 'none'
log_duration = off
log_min_duration_statement = 4000
Pour une meilleur lisibilité, vou pouvez paramétrer la variable : log_line_prefix
exemples :
- log_line_prefix = '%m %d '
- log_line_prefix = '%t %d '
Explication des valeurs :
- %d : nom de la base de données ,
- %m : date allant jusqu'à la milliseconde ,
- %t ; date sans les millisecondes