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 :

  1. log_line_prefix = '%m %d '
  2. log_line_prefix = '%t %d '

Explication des valeurs :

  •  %d : nom de la base de données ,
  • %m : date allant jusqu'à la miliseconde ,
  • %t ; date sans les millisecondes