

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Paramètres de journalisation dans RDS pour PostgreSQL
<a name="USER_LogAccess.Concepts.PostgreSQL.overview.parameter-groups"></a>

Vous pouvez personnaliser le comportement de journalisation de votre instance de base de données RDS pour PostgreSQL en modifiant divers paramètres. Dans le tableau suivant, vous trouverez les paramètres qui affectent combien de temps les journaux sont stockés, quand effectuer la rotation du journal et s’il convient de fournir en sortie le journal au format CSV (valeurs séparées par des virgules). Vous pouvez également trouver le texte de sortie envoyé à STDERR, entre autres paramètres. Pour modifier les valeurs des paramètres modifiables, utilisez un groupe de paramètres de base de données pour votre Instance RDS pour PostgreSQL. Pour plus d’informations, consultez [Groupes de paramètres de base de données pour les instances de base de données Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md).


| Paramètre | Par défaut | Description | 
| --- | --- | --- | 
| log\$1destination | stderr | Définit le format de sortie pour le journal. La valeur par défaut est `stderr`, mais vous pouvez également spécifier une valeur séparée par des virgules (CSV) en ajoutant `csvlog` au paramètre. Pour plus d’informations, consultez [Définition de la destination du journal (`stderr`, `csvlog`)](#USER_LogAccess.Concepts.PostgreSQL.Log_Format).  | 
| log\$1filename |  postgresql.log.%Y-%m-%d-%H  | Spécifie le modèle du nom de fichier journal. Outre la valeur par défaut, ce paramètre prend en charge `postgresql.log.%Y-%m-%d` et `postgresql.log.%Y-%m-%d-%H%M` pour le modèle de nom de fichier.  | 
| log\$1line\$1prefix | %t:%r:%u@%d:[%p]: | Définit le préfixe pour chaque ligne de journal qui est écrite sur `stderr`, afin de noter l’heure (%t), l’hôte distant (%r), l’utilisateur (%u), la base de données (%d) et l’ID du processus (%p). | 
| log\$1rotation\$1age | 60 | Minutes après lesquelles la rotation automatique du fichier journal est effectuée. Vous pouvez remplacer cette valeur par toute valeur comprise entre 1 et 1 440 minutes. Pour plus d’informations, consultez [Définition de la rotation des fichiers journaux](#USER_LogAccess.Concepts.PostgreSQL.log_rotation).  | 
| log\$1rotation\$1size | – | Taille (en Ko) à laquelle la rotation automatique du fichier journal est effectuée. Par défaut, ce paramètre n’est pas utilisé, car une rotation des journaux est effectuée en fonction du paramètre `log_rotation_age`. Pour en savoir plus, consultez [Définition de la rotation des fichiers journaux](#USER_LogAccess.Concepts.PostgreSQL.log_rotation). | 
| rds.log\$1retention\$1period | 4320 | Les journaux PostgreSQL plus anciens que le nombre de minutes spécifié sont supprimés. La valeur par défaut de 4 320 minutes supprime les fichiers journaux après trois jours. Pour plus d’informations, consultez [Définition de la période de conservation des journaux](#USER_LogAccess.Concepts.PostgreSQL.log_retention_period). | 

Pour identifier les problèmes d’application, vous pouvez rechercher dans le journal les échecs de requête, les échecs de connexion, les interblocages et les erreurs fatales du serveur. Par exemple, supposons que vous avez converti une application héritée d’Oracle vers Amazon RDS pour PostgreSQL, mais que certaines requêtes n’ont pas été converties correctement. Ces requêtes mal formatées génèrent des messages d’erreur que vous pouvez trouver dans les journaux pour aider à identifier les problèmes. Pour plus d’informations sur la journalisation des requêtes, consultez [Activation de la journalisation des requêtes pour votre RDS pour PostgreSQL](USER_LogAccess.Concepts.PostgreSQL.Query_Logging.md). 

Dans les rubriques suivantes, vous pouvez trouver des informations sur la manière de définir les différents paramètres qui contrôlent les détails de base de vos journaux PostgreSQL. 

**Topics**
+ [Définition de la période de conservation des journaux](#USER_LogAccess.Concepts.PostgreSQL.log_retention_period)
+ [Définition de la rotation des fichiers journaux](#USER_LogAccess.Concepts.PostgreSQL.log_rotation)
+ [Définition de la destination du journal (`stderr`, `csvlog`)](#USER_LogAccess.Concepts.PostgreSQL.Log_Format)
+ [Compréhension du paramètre log\$1line\$1prefix](#USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix)

## Définition de la période de conservation des journaux
<a name="USER_LogAccess.Concepts.PostgreSQL.log_retention_period"></a>

Le paramètre `rds.log_retention_period` indique la durée pendant laquelle votre instance de base de données RDS pour PostgreSQL conserve ses fichiers journaux. La valeur par défaut est de 3 jours (4 320 minutes), mais vous pouvez définir une valeur comprise entre 1 jour (1 440 minutes) et 7 jours (10 080 minutes). Assurez-vous que votre instance de base de données RDS pour PostgreSQL dispose d’un espace de stockage suffisant pour contenir les fichiers journaux pendant cette période.

Nous vous recommandons de publier régulièrement vos CloudWatch journaux sur Amazon Logs afin de pouvoir consulter et analyser les données système longtemps après leur suppression de votre cluster de base de données . Instance de base de données RDS pour PostgreSQL. Pour plus d’informations, consultez [Publication de journaux PostgreSQL sur Amazon Logs CloudWatch](USER_LogAccess.Concepts.PostgreSQL.md#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs).  

## Définition de la rotation des fichiers journaux
<a name="USER_LogAccess.Concepts.PostgreSQL.log_rotation"></a>

Amazon RDS crée de nouveaux fichiers journaux toutes les heures, par défaut. Le timing est contrôlé par le paramètre `log_rotation_age`. Ce paramètre a une valeur par défaut de 60 (minutes), mais vous pouvez le régler sur une valeur comprise entre 1 minute et 24 heures (1 440 minutes). Au moment de la rotation, un fichier journal distinct est créé. Le fichier est nommé selon le modèle spécifié par le paramètre `log_filename`. 

Les fichiers journaux peuvent également faire l’objet d’une rotation en fonction de leur taille, comme indiqué dans le paramètre `log_rotation_size`. Ce paramètre indique que le journal doit faire l’objet d’une rotation lorsqu’il atteint la taille spécifiée (en kilo-octets). Pour une instance de base de données RDS pour PostgreSQL, la valeur `log_rotation_size` n’est pas définie, c’est-à-dire qu’il n’y a pas de valeur spécifiée. Toutefois, vous pouvez définir ce paramètre entre 0 et 2 097 151 Ko (kilo-octets).  

Les noms de fichier journal sont basés sur le modèle de nom de fichier spécifié dans le paramètre `log_filename`. Les valeurs disponibles pour ce paramètre sont les suivantes :
+ `postgresql.log.%Y-%m-%d` : format par défaut du nom de fichier journal. Inclut l’année, le mois et la date dans le nom du fichier journal.
+ `postgresql.log.%Y-%m-%d-%H` : inclut l’heure dans le format du nom de fichier journal.

Pour plus d’informations, consultez [https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-AGE](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-AGE) et [https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-SIZE](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-SIZE) dans la documentation de PostgreSQL.

## Définition de la destination du journal (`stderr`, `csvlog`)
<a name="USER_LogAccess.Concepts.PostgreSQL.Log_Format"></a>

Par défaut, Amazon RDS PostgreSQL génère des journaux au format d’erreur standard (stderr). Ce format correspond au réglage par défaut du paramètre `log_destination`. Chaque message est préfixé selon le modèle spécifié dans le paramètre `log_line_prefix`. Pour plus d’informations, consultez [Compréhension du paramètre log\$1line\$1prefix](#USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix). 

RDS pour PostgreSQL peut également générer les journaux au format `csvlog`. La valeur `csvlog` permet d’analyser les données du journal en tant que données CSV (valeurs séparées par des virgules). Par exemple, supposons que vous utilisez l’extension `log_fdw` pour travailler avec vos journaux en tant que tables externes. La table externe créée sur les fichiers journaux `stderr` contient une seule colonne avec les données des événements de journal. En ajoutant `csvlog` au paramètre `log_destination`, vous obtenez le fichier journal au format CSV avec des démarcations pour les différentes colonnes de la table externe. Vous pouvez désormais trier et analyser vos journaux plus facilement. Pour savoir comment utiliser `log_fdw` avec `csvlog`, consultez [Utilisation de l'extension log\$1fdw pour accéder au journal de base de données à l'aide de SQL](CHAP_PostgreSQL.Extensions.log_fdw.md).

Si vous spécifiez `csvlog` pour ce paramètre, sachez que les deux fichiers `stderr` et `csvlog` sont générés. Assurez-vous de surveiller le stockage consommé par les journaux, en tenant compte de `rds.log_retention_period` et des autres paramètres qui affectent le stockage et la rotation des journaux. Utiliser `stderr` et `csvlog` fait plus que doubler le stockage consommé par les journaux.

Si vous ajoutez `csvlog` à `log_destination` et que vous souhaitez revenir au paramètre `stderr` seul, vous devez réinitialiser le paramètre. Pour ce faire, ouvrez la console Amazon RDS, puis ouvrez le groupe de paramètres personnalisé de la base de données pour votre instance. Choisissez le paramètre `log_destination`, choisissez **Edit parameter** (Modifier le paramètre), puis **Reset** (Réinitialiser). 

Pour plus d’informations sur la configuration de la journalisation, consultez [Working with Amazon RDS and Aurora PostgreSQL logs: Part 1](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-1/) (Utiliser les journaux d’Amazon RDS et Aurora PostgreSQL : partie 1).

## Compréhension du paramètre log\$1line\$1prefix
<a name="USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix"></a>

Le format du journal `stderr` précède chaque message du journal des détails spécifiés par le paramètre `log_line_prefix`. La valeur par défaut est :

```
%t:%r:%u@%d:[%p]:t
```

À partir de la version 16 d’Aurora PostgreSQL, vous pouvez également choisir :

```
%m:%r:%u@%d:[%p]:%l:%e:%s:%v:%x:%c:%q%a
```

Chaque entrée de journal envoyée à stderr inclut les informations suivantes en fonction de la valeur sélectionnée :
+ `%t` : heure de l’entrée du journal sans millisecondes
+ `%m` : heure de l’entrée du journal, en millisecondes
+  `%r` : adresse de l’hôte distant
+  `%u@%d` : nom d’utilisateur @ nom de base de données
+  `[%p]` : ID de processus si disponible
+  `%l` : numéro de ligne de journal par session 
+  `%e` : code d’erreur SQL 
+  `%s` : horodatage de début du processus 
+  `%v` : identifiant de transaction virtuel 
+  `%x` : ID de transaction 
+  `%c` : ID de session 
+  `%q` : délimiteur non session 
+  `%a` : nom de l’application 