Version de PostgreSQL:

log_line_prefix

Il s'agit d'une chaîne de style printf affichée au début de chaque ligne de trace. Les caractères % débutent des séquences d'échappement qui sont remplacées avec l'information de statut décrite ci-dessous. Les échappement non reconnus sont ignorés. Les autres caractères sont copiés directement dans la trace. Certains échappements ne sont reconnus que par les processus de session et seront traités comme vide par les processus en tâche de fond tels que le processus principal du serveur. L'information de statut pourrait être alignée soit à gauche soit à droite en indiquant un nombre après le signe pourcent et avant l'option. Une valeur négative implique un alignement à droite par ajout d'espaces alors qu'une valeur positive est pour un alignement à gauche. L'alignement peut être utile pour aider à la lecture des fichiers de trace. Ce paramètre ne peut être configuré que dans le fichier postgresql.conf ou indiqué sur la ligne de commande. La valeur par défaut est '%m [%p] ' ce qui affiche dans les trace l'heure courante ainsi que l'identifiant de processus. Échappement Produit Session seule %a Nom de l'application yes %u Nom de l'utilisateur oui %d Nom de la base de données oui %r Nom ou adresse IP de l'hôte distant et port distant oui %h Nom d'hôte distant ou adresse IP oui %p ID du processus non %t Estampille temporelle sans millisecondes non %m Estampille temporelle avec millisecondes non %n Estampille temporelle avec millisecondes (sous la forme d'un epoch Unix) non %i Balise de commande : type de commande oui %e code d'erreur correspondant à l'état SQL no %c ID de session : voir ci-dessous non %l Numéro de la ligne de trace de chaque session ou processus, commençant à 1 non %s Estampille temporelle du lancement du processus oui %v Identifiant virtuel de transaction (backendID/localXID) no %x ID de la transaction (0 si aucune affectée) non %q Ne produit aucune sortie, mais indique aux autres processus de stopper à cet endroit de la chaîne. Ignoré par les processus de session. non %% % non L'échappement %c affiche un identifiant de session quasi-unique constitué de deux nombres hexadécimaux sur quatre octets (sans les zéros initiaux) et séparés par un point. Les nombres représentent l'heure de lancement du processus et l'identifiant du processus, %c peut donc aussi être utilisé comme une manière de raccourcir l'affichage de ces éléments. Par exemple, pour générer l'identifiant de session à partir de pg_stat_activity, utilisez cette requête : SELECT to_hex(trunc(EXTRACT(EPOCH FROM backend_start))::integer) || '.' || to_hex(pid)FROM pg_stat_activity;

Si log_line_prefix est différent d'une chaîne vide, il est intéressant d'ajouter une espace en fin de chaîne pour créer une séparation visuelle avec le reste de la ligne. Un caractère de ponctuation peut aussi être utilisé.

syslog produit ses propres informations d'horodatage et d'identifiant du processus. Ces échappements n'ont donc que peu d'intérêt avec syslog.

L'échappement %q est utile quand des informations qui ne sont disponibles que dans le contexte d'une session (processus client) est utilisé, comme le nom de l'utilisateur ou de la base. Par exemple :log_line_prefix = '%m [%p] %q%u@%d/%a '

Recommandations [EN]

Primarily useful for providing extra information when logging to syslog or eventlog. Try "%h:%d:%u:%c %t" for this.

Commentaires