Documentation PostgreSQL 14.22 » Administration du serveur » Configuration du serveur » Statistiques d'exécution

Précédent | Niveau supérieur | Suivant
20.8. Remonter et tracer les erreurs | Sommaire | 20.10. Nettoyage (`vacuum`) automatique

## 20.9. Statistiques d'exécution

### 20.9.1. Collecteur de statistiques sur les requêtes et les index

Ces paramètres contrôlent la collecte de statistiques de niveau serveur. Lorsque celle-ci est activée, les données produites peuvent être visualisées à travers la famille de vues systèmes `pg_stat` et `pg_statio`. On peut se reporter à Chapitre 28 pour plus d'informations.

`track_activities` (`boolean`)

  Active la collecte d'informations sur la commande en cours d'exécution dans chaque session, avec son identifiant et l'heure de démarrage de la commande. Ce paramètre est activé par défaut. Même si le paramètre est activé, cette information n'est pas visible par tous les utilisateurs, mais uniquement par les super-utilisateurs, les rôles membres du rôle `pg_read_all_stats` et l'utilisateur possédant les sessions indiquées (ceci incluant les sessions appartenant à un rôle dont ils possèdent les droits) traitée ; de ce fait, cela ne représente pas une faille de sécurité. Seuls les super-utilisateurs peuvent modifier ce paramètre.

`track_activity_query_size` (`integer`)

  Indique la quantité de mémoire réservée pour enregistrer le texte de la commande en cours d'exécution pour chaque session active, pour le champ `pg_stat_activity`.`query`. Si cette valeur est spécifiée sans unité, elle est comprise comme un nombre d'octets. La valeur par défaut est 1024 octets. Ce paramètre peut seulement être configuré au démarrage du serveur.

`track_counts` (`boolean`)

  Active la récupération de statistiques sur l'activité de la base de données. Ce paramètre est activé par défaut car le processus autovacuum utilise les informations ainsi récupérées. Seuls les super-utilisateurs peuvent modifier ce paramètre.

`track_io_timing` (`boolean`)

  Active le chronométrage des appels d'entrées/sorties de la base de données. Ce paramètre est désactivé par défaut car il demandera sans cesse l'heure courante au système d'exploitation, ce qui peut causer une surcharge significative sur certaines plateformes. Vous pouvez utiliser l'outil pg_test_timing pour mesurer la surcharge causée par le chronométrage sur votre système. Les informations de chronométrage des entrées/sorties sont affichées dans `pg_stat_database`, dans la sortie de EXPLAIN quand l'option `BUFFERS` est utilisée, by autovacuum for auto-vacuums and auto-analyzes, when log_autovacuum_min_duration is set and by pg_stat_statements. Only superusers can change this setting.

`track_wal_io_timing` (`boolean`)

  Active le chronométrage des I/O pour les journaux de transactions. Ce paramètre est désactivé par défaut car il implique de nombreux appels supplémentaires au système d'exploitation, ce qui peut être consommateur de ressources pour la plateforme. Vous pouvez utiliser l'outil pg_test_timing pour mesurer la surcharge du chronométrage sur votre système. Les informations de chronométrage des I/O sont disponibles dans la vue `pg_stat_wal`. Seuls les super-utilisateurs peuvent modifier ce paramètre.

`track_functions` (`enum`)

  Active le suivi du nombre et de la durée des appels aux fonctions. Précisez `pl` pour ne tracer que les fonctions de langages procéduraux, ou `all` pour suivre aussi les fonctions SQL et C. La valeur par défaut est `none`, qui désactive le suivi des statistiques de fonctions. Seuls les super-utilisateurs peuvent modifier ce paramètre.

  ### Note

  Les fonctions en langage SQL qui sont assez simples pour être « inlined », c'est à dire substituées dans le code de la requête appelante, ne seront pas suivies, quelle que soit la valeur de ce paramètre.

`stats_temp_directory` (`string`)

  Précise le répertoire dans lequel stocker les données temporaires de statistiques. Cela peut être un chemin relatif au répertoire de données ou un chemin absolu. La valeur par défaut est `pg_stat_tmp`. Faire pointer ceci vers un système de fichiers mémoire diminuera les entrées/sorties physiques et peut améliorer les performances. Ce paramètre ne peut être positionné que dans le fichier `postgresql.conf` ou sur la ligne de commande.

### 20.9.2. Surveillance et statistiques

`compute_query_id` (`enum`)

  Active le calcul des identifiants de requête. Les identifiants de requête sont disponibles dans la vue `pg_stat_activity`, en utilisant `EXPLAIN`, ou dans les traces de PostgreSQL si cela a été configuré avec le paramètre log_line_prefix. L'extension pg_stat_statements nécessite aussi un identifiant de requête. Notez bien qu'un module externe peut être une alternative acceptable pour calculer un identifiant de requête. Dans ce cas, pensez à désactiver le calcul automatique des identifiants de requête par PostgreSQL. Les valeurs acceptées pour ce paramètre sont `off` (toujours désactivé), `on` (toujours activé), `auto` qui permet à des modules externes comme pg_stat_statements de l'activer automatiquement, et `regress` qui a le même effet que `auto`, sauf que l'identifiant de requête n'est pas affiché dans la sortie `EXPLAIN` pour faciliter les tests de régression automatisés. La valeur par défaut est `auto`.

  ### Note

  Pour garantir qu'un seul identifiant de requête soit généré et affiché, les extensions qui génèrent des identifiants de requête doivent lever une erreur si un identifiant de requête a déjà été généré pour une requête.

`log_statement_stats` (`boolean`)
`log_parser_stats` (`boolean`)
`log_planner_stats` (`boolean`)
`log_executor_stats` (`boolean`)

  Écrivent, pour chaque requête, les statistiques de performance du module respectif dans les traces du serveur. C'est un outil de profilage très simpliste, similaire aux possibilités de l'appel `getrusage()` du système d'exploitation Unix. `log_statement_stats` rapporte les statistiques d'instructions globales, tandis que les autres fournissent un rapport par module. `log_statement_stats` ne peut pas être activé conjointement à une option de module. Par défaut, toutes ces options sont désactivées. Seuls les super-utilisateurs peuvent modifier ces paramètres.