Paramètres de connexion à pour PostgreSQL - Amazon Relational Database Service

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 connexion à pour PostgreSQL

Vous pouvez personnaliser le comportement de journalisation de votre instance de base de données RDS for 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 for PostgreSQL. Pour plus d'informations, consultez Groupes de paramètres de base de données pour les instances de base de données RDSAmazon.

Paramètre Par défaut Description

log_destination

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 de plus amples informations, veuillez consulter Définition de la destination du journal (stderr, csvlog).

log_filename

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_line_prefix

%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_rotation_age

60

Minutes après lesquelles la rotation automatique du fichier journal est effectuée. Vous pouvez modifier cette valeur entre 1 et 1 440 minutes. Pour de plus amples informations, veuillez consulter Définition de la rotation des fichiers journaux.

log_rotation_size

Taille (en Ko) à laquelle la rotation automatique du fichier journal est effectuée. Par défaut, ce paramètre n'est pas utilisé car les journaux sont pivotés en fonction de log_rotation_age ce paramètre. Pour en savoir plus, veuillez consulter la section Définition de la rotation des fichiers journaux.

rds.log_retention_period

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 de plus amples informations, veuillez consulter Définition de la période de conservation des journaux.

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 for 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 Activer la journalisation des requêtes pour votre instance de base de données RDS for PostgreSQL..

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.

Définition de la période de conservation des journaux

Le paramètre rds.log_retention_period indique la durée pendant laquelle votre instance de base de données RDS for 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 for 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 for PostgreSQL. Pour plus d’informations, consultez Publication de journaux PostgreSQL sur Amazon Logs CloudWatch .

Définition de la rotation des fichiers journaux

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 for 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 log_rotation_age et log_rotation_size dans la documentation de PostgreSQL.

Définition de la destination du journal (stderr, csvlog)

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 de plus amples informations, veuillez consulter Compréhension du paramètre log_line_prefix.

RDS for 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_fdw pour accéder au journal de base de données en utilisant SQL.

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 (Utiliser les journaux d'Amazon RDS et Aurora PostgreSQL : partie 1).

Compréhension du paramètre log_line_prefix

Le format du stderr journal préfixe chaque message de journal avec les détails spécifiés par le log_line_prefix paramètre. 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 saisie du journal sans millisecondes

  • %m— Heure de saisie 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— Numéro de transaction

  • %c— Identifiant de session

  • %q— Fin de session

  • %a— Nom de l'application