

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.

# Fichiers journaux de base de données RDS pour PostgreSQL
<a name="USER_LogAccess.Concepts.PostgreSQL"></a>

Vous pouvez surveiller les types de fichiers journaux suivants :
+ Journal PostgreSQL
+ Journal de mise à niveau
+ Journal des erreurs d’authentification de base de données IAM
**Note**  
Pour activer les journaux d’erreurs d’authentification de base de données IAM, vous devez d’abord activer l’authentification de base de données IAM pour votre instance de base de données RDS pour PostgreSQL. Pour plus d’informations sur l’authentification de la base de données IAM, consultez [Activation et désactivation de l’authentification de base de données IAM](UsingWithRDS.IAMDBAuth.Enabling.md).

RDS pour PostgreSQL consigne les activités de base de données dans le fichier journal PostgreSQL par défaut. Pour une instance de base de données PostgreSQL sur site, ces messages sont stockés localement dans `log/postgresql.log`. Pour une instance de base de données RDS pour PostgreSQL, le fichier journal est disponible sur l’instance Amazon RDS. Ces journaux sont également accessibles via le AWS Management Console, où vous pouvez les consulter ou les télécharger. Le niveau de journalisation par défaut capture les échecs de connexion, les erreurs de serveur fatales, les blocages et les échecs de requête.

Pour plus d’informations sur l’affichage, le téléchargement et la consultation des journaux de base de données basés sur des fichiers, consultez [Surveillance des fichiers journaux Amazon RDS](USER_LogAccess.md). Pour en savoir plus sur les journaux PostgreSQL, consultez la section [Working with Amazon RDS and Aurora PostgreSQL logs: Part 1 (Utilisation des journaux Amazon RDS et Aurora PostgreSQL : Partie 1)](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-1/) et [Working with Amazon RDS and Aurora PostgreSQL logs: Part 2 (Utilisation des journaux Amazon RDS et Aurora PostgreSQL : Partie 2)](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-2/). 

Outre les journaux PostgreSQL standard décrits dans cette rubrique, RDS pour PostgreSQL prend également en charge l’extension PostgreSQL Audit (`pgAudit`). La plupart des secteurs réglementés et des agences gouvernementales doivent conserver un journal d’audit ou une piste d’audit des modifications apportées aux données afin de se conformer aux exigences légales. Pour plus d’informations sur l’installation et l’utilisation de pgAudit, consultez [Utilisation de pgAudit pour journaliser l'activité de la base de données](Appendix.PostgreSQL.CommonDBATasks.pgaudit.md).

**Topics**
+ [Paramètres de journalisation dans RDS pour PostgreSQL](USER_LogAccess.Concepts.PostgreSQL.overview.parameter-groups.md)
+ [Activation de la journalisation des requêtes pour votre RDS pour PostgreSQL](USER_LogAccess.Concepts.PostgreSQL.Query_Logging.md)
+ [Publication de journaux PostgreSQL sur Amazon Logs CloudWatch](#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs)

# 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 

# Activation de la journalisation des requêtes pour votre RDS pour PostgreSQL
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging"></a>

Vous pouvez collecter des informations plus détaillées sur les activités de votre base de données, notamment les requêtes, les requêtes en attente de verrouillage, les points de contrôle et de nombreux autres détails en définissant certains des paramètres répertoriés dans le tableau suivant. Cette rubrique se concentre sur la journalisation des requêtes.


| Paramètre | Par défaut | Description | 
| --- | --- | --- | 
| log\$1connections | – | Enregistre toutes les connexions réussies.  | 
| log\$1disconnections | – | Journalise la fin de chaque session et sa durée.  | 
| log\$1checkpoints | 1 | Enregistre chaque point de vérification.  | 
| log\$1lock\$1waits | – | Enregistre les longs temps d’attente pour l’acquisition d’un verrou. Ce paramètre n’est pas défini par défaut. | 
| log\$1min\$1duration\$1sample | – | (ms) Définit la durée minimum d’exécution au-delà de laquelle les instructions sont journalisées. La taille de l’échantillon est définie à l’aide du paramètre log\$1statement\$1sample\$1rate. | 
| log\$1min\$1duration\$1statement | – | Toute instruction SQL exécutée au moins pendant la durée spécifiée ou plus est journalisée. Ce paramètre n’est pas défini par défaut. L’activation de ce paramètre peut vous aider à identifier les requêtes non optimisées. | 
| log\$1statement | – | Définit le type d’instructions enregistrées. Par défaut, ce paramètre n’est pas défini, mais vous pouvez le modifier pour `all`, `ddl` ou `mod` afin de spécifier les types d’instructions SQL que vous souhaitez journaliser. Si vous spécifiez autre chose que `none` pour ce paramètre, vous devez également prendre des mesures supplémentaires pour empêcher l’exposition des mots de passe dans les fichiers journaux. Pour plus d’informations, consultez [Atténuation du risque d’exposition des mots de passe lors de l’utilisation de la journalisation de requêtesAtténuation du risque d’exposition des mots de passe](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk).  | 
| log\$1statement\$1sample\$1rate | – | Le pourcentage d’instructions dépassant la durée spécifiée dans `log_min_duration_sample` pour être journalisées, exprimé sous la forme d’une valeur à virgule flottante comprise entre 0,0 et 1,0.  | 
| log\$1statement\$1stats | – | Ecrit les statistiques de performance cumulées dans le journal du serveur. | 

## Utilisation de la journalisation pour détecter les requêtes lentes
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging.using"></a>

Vous pouvez journaliser les instructions et les requêtes SQL pour favoriser la recherche des requêtes lentes. Vous pouvez activer cette fonctionnalité en modifiant les valeurs des paramètres `log_statement` et `log_min_duration`, comme indiqué dans cette section. Avant d’activer la journalisation des requêtes pour votre instance de base de données RDS pour PostgreSQL, vous devez être conscient de l’exposition possible à des mots de passe dans les journaux et de la manière d’atténuer les risques. Pour plus d’informations, consultez [Atténuation du risque d’exposition des mots de passe lors de l’utilisation de la journalisation de requêtesAtténuation du risque d’exposition des mots de passe](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk). 

Vous trouverez ci-dessous des informations de référence sur les paramètres `log_statement` et `log_min_duration`.log\$1statement

Ce paramètre indique le type d’instructions SQL qui doivent être envoyées au journal. La valeur par défaut est `none`. Si vous remplacez ce paramètre par `all`, `ddl` ou `mod`, veillez à prendre les mesures recommandées pour réduire le risque d’exposition des mots de passe dans les journaux. Pour plus d’informations, consultez [Atténuation du risque d’exposition des mots de passe lors de l’utilisation de la journalisation de requêtesAtténuation du risque d’exposition des mots de passe](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk). 

**tout**  
Journalise toutes les instructions. Ce paramètre est recommandé à des fins de débogage.

**ddl**  
Journalise toutes les instructions DDL (Data Definition Language), telles que CREATE, ALTER, DROP, etc.

**mod**  
Journalise toutes les instructions DDL et les instructions de langage de manipulation des données (DML) telles que INSERT, UPDATE et DELETE, qui modifient les données.

**Aucune**  
Aucune instruction SQL n’est journalisée. Nous recommandons ce paramètre pour éviter le risque d’exposer des mots de passe dans les journaux.log\$1min\$1duration\$1statement

Toute instruction SQL exécutée au moins pendant la durée spécifiée ou plus est journalisée. Ce paramètre n’est pas défini par défaut. L’activation de ce paramètre peut vous aider à identifier les requêtes non optimisées.

**–1–2147483647**  
Le nombre de millisecondes (ms) d’exécution pendant lequel une instruction est journalisée.

**Configurer la journalisation des requêtes**

Ces étapes supposent que votre L’instance de base de données RDS pour PostgreSQL utilise un groupe de paramètres de base de données personnalisé. 

1. Définissez le paramètre `log_statement` sur `all`. L’exemple suivant illustre les informations écrites dans le fichier `postgresql.log` avec cette définition de paramètre.

   ```
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: statement: SELECT feedback, s.sentiment,s.confidence
   FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s
   ORDER BY s.confidence DESC;
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: QUERY STATISTICS
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:DETAIL: ! system usage stats:
   ! 0.017355 s user, 0.000000 s system, 0.168593 s elapsed
   ! [0.025146 s user, 0.000000 s system total]
   ! 36644 kB max resident size
   ! 0/8 [0/8] filesystem blocks in/out
   ! 0/733 [0/1364] page faults/reclaims, 0 [0] swaps
   ! 0 [0] signals rcvd, 0/0 [0/0] messages rcvd/sent
   ! 19/0 [27/0] voluntary/involuntary context switches
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: SELECT feedback, s.sentiment,s.confidence
   FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s
   ORDER BY s.confidence DESC;
   2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:ERROR: syntax error at or near "ORDER" at character 1
   2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: ORDER BY s.confidence DESC;
   ----------------------- END OF LOG ----------------------
   ```

1. Définissez le paramètre `log_min_duration_statement`. L’exemple suivant illustre les informations écrites dans le fichier `postgresql.log` lorsque le paramètre est défini sur `1`.

   Les requêtes qui dépassent la durée spécifiée dans le paramètre `log_min_duration_statement` sont enregistrées. Vous en trouverez un exemple ci-dessous. Vous pouvez consulter le fichier journal de votre instance de base de données RDS pour PostgreSQL dans la console Amazon RDS. 

   ```
   2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: statement: DROP table comments;
   2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: duration: 167.754 ms
   2022-10-05 19:08:07 UTC::@:[355]:LOG: checkpoint starting: time
   2022-10-05 19:08:08 UTC::@:[355]:LOG: checkpoint complete: wrote 11 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=1.013 s, sync=0.006 s, total=1.033 s; sync files=8, longest=0.004 s, average=0.001 s; distance=131028 kB, estimate=131028 kB
   ----------------------- END OF LOG ----------------------
   ```

### Atténuation du risque d’exposition des mots de passe lors de l’utilisation de la journalisation de requêtes
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk"></a>

Nous vous recommandons de garder `log_statement` sur `none` pour éviter de dévoiler les mots de passe. Si vous avez réglé `log_statement` sur `all`, `ddl` ou `mod`, nous vous recommandons de suivre une ou plusieurs des étapes suivantes.
+ Pour le client, chiffrez les informations sensibles. Pour plus d’informations, consultez [Options de chiffrement](https://www.postgresql.org/docs/current/encryption-options.html) dans la documentation PostgreSQL. Utilisez les options `ENCRYPTED` (et `UNENCRYPTED`) des instructions `CREATE` et `ALTER`. Pour plus d’informations, consultez [CREATE USER](https://www.postgresql.org/docs/current/sql-createuser.html) dans la documentation PostgreSQL.
+ Pour votre instance de base de données RDS pour PostgreSQL, configurez et utilisez l’extension PostgreSQL Auditing (pgAudit). Cette extension supprime les informations sensibles dans les instructions CREATE et ALTER envoyées au journal. Pour de plus amples informations, veuillez consulter [Utilisation de pgAudit pour journaliser l'activité de la base de données](Appendix.PostgreSQL.CommonDBATasks.pgaudit.md). 
+ Limitez l'accès aux CloudWatch journaux.
+ Utilisez des mécanismes d’authentification plus forts tels que IAM.

## Publication de journaux PostgreSQL sur Amazon Logs CloudWatch
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs"></a>

Pour stocker vos enregistrements de journal PostgreSQL dans un espace de stockage hautement durable, vous pouvez utiliser Amazon Logs. CloudWatch Avec CloudWatch Logs, vous pouvez également effectuer une analyse en temps réel des données des journaux et les utiliser CloudWatch pour consulter les métriques et créer des alarmes. Par exemple, si vous définissez `log_statement` sur `ddl`, vous pouvez configurer une alarme pour vous alerter chaque fois qu’une instruction DDL est exécutée. Vous pouvez choisir de télécharger vos journaux PostgreSQL dans Logs pendant le processus de création CloudWatch de votre instance de base de données RDS pour PostgreSQL. Si vous avez choisi de ne pas télécharger de journaux à ce moment-là, vous pouvez modifier ultérieurement votre instance pour commencer à charger les journaux à partir de ce moment. En d’autres termes, les journaux existants ne sont pas chargés. Seuls les nouveaux journaux sont chargés lorsqu’ils sont créés sur votre instance de base de données RDS pour PostgreSQL modifiée.

Toutes les versions de RDS pour PostgreSQL actuellement disponibles prennent en charge la publication de fichiers journaux dans Logs. CloudWatch Pour plus d’informations, consultez [Mises à jour d’Amazon RDS pour PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html) dans *Notes de mise à jour d’Amazon RDS pour PostgreSQL*. 

Pour utiliser les CloudWatch journaux, configurez votre instance de base de données RDS pour PostgreSQL afin de publier les données des journaux dans un groupe de journaux.

Vous pouvez publier les types de CloudWatch journaux suivants dans Logs for RDS pour PostgreSQL : 
+ Journal PostgreSQL
+ Journal de mise à niveau 
+ Journal des erreurs d’authentification de base de données IAM

Une fois la configuration terminée, Amazon RDS publie les événements du journal dans les flux de journaux au sein d'un groupe de CloudWatch journaux. Par exemple, les données de journaux PostgreSQL sont stockés dans le groupe de journaux `/aws/rds/instance/my_instance/postgresql`. Pour consulter vos journaux, ouvrez la CloudWatch console à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

### Console
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.CON"></a>

**Pour publier les journaux PostgreSQL dans Logs CloudWatch à l'aide de la console**

1. Ouvrez la console Amazon RDS à l'adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Dans le panneau de navigation, choisissez **Databases (Bases de données)**.

1. Choisissez l’instance de base de données que vous souhaitez modifier, puis choisissez **Modifier**.

1. Dans la section **Exportations de journaux**, choisissez les journaux que vous souhaitez commencer à publier dans CloudWatch Logs.

   La section **Exportations de journaux** n'est disponible que pour les versions de PostgreSQL qui prennent en charge la publication dans Logs. CloudWatch 

1. Choisissez **Continuer**, puis **Modifier l’instance de base de données** sur la page récapitulative.

### AWS CLI
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.CLI"></a>

Vous pouvez publier des journaux PostgreSQL à l'aide du. AWS CLI Vous pouvez appeler la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) avec les paramètres suivants.
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**Note**  
Une modification apportée à l’option `--cloudwatch-logs-export-configuration` est toujours appliquée immédiatement à l’instance de base de données. Par conséquent, les options `--apply-immediately` et `--no-apply-immediately` sont sans effet.

Vous pouvez également publier des journaux PostgreSQL en appelant les commandes de CLI suivantes :
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

Exécutez l’une de ces commandes de CLI avec les options suivantes : 
+ `--db-instance-identifier`
+ `--enable-cloudwatch-logs-exports`
+ `--db-instance-class`
+ `--engine`

D’autres options peuvent être requises en fonction de la commande de CLI que vous exécutez.

**Example Modifier une instance pour publier des journaux dans CloudWatch Logs**  
L'exemple suivant modifie une instance de base de données PostgreSQL existante pour publier des fichiers journaux dans Logs. CloudWatch La valeur `--cloudwatch-logs-export-configuration` n’est pas un objet JSON. La clé pour cet objet est `EnableLogTypes` et sa valeur est un tableau de chaînes avec une combinaison quelconque de `postgresql` et `upgrade`.  
Pour Linux, macOS ou Unix :  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql", "upgrade"]}'
```
Pour Windows :  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql","upgrade"]}'
```

**Example Création d'une instance pour publier des journaux dans CloudWatch Logs**  
L'exemple suivant crée une instance de base de données PostgreSQL et publie des fichiers journaux dans Logs. CloudWatch La valeur `--enable-cloudwatch-logs-exports` est un tableau de chaînes JSON. Les chaînes peuvent être une combinaison quelconque de `postgresql` et `upgrade`.  
Pour Linux, macOS ou Unix :  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --enable-cloudwatch-logs-exports '["postgresql","upgrade"]' \
4.     --db-instance-class db.m4.large \
5.     --engine postgres
```
Pour Windows :  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --enable-cloudwatch-logs-exports '["postgresql","upgrade"]' ^
4.     --db-instance-class db.m4.large ^
5.     --engine postgres
```

### API RDS
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.API"></a>

Vous pouvez publier des journaux PostgreSQL avec l’API RDS. Vous pouvez appeler l’action [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) avec les paramètres suivants : 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**Note**  
Une modification apportée au paramètre `CloudwatchLogsExportConfiguration` est toujours appliquée immédiatement à l’instance de base de données. Par conséquent, le paramètre `ApplyImmediately` est sans effet.

Vous pouvez également publier des journaux PostgreSQL en appelant les opérations d’API RDS suivantes : 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Exécutez l’une de ces opérations d’API RDS avec les paramètres suivants : 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

D’autres paramètres peuvent être requis en fonction de l’opération que vous exécutez.

 