Tâches courantes d'administration de bases de données pour Amazon RDS for 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.

Tâches courantes d'administration de bases de données pour Amazon RDS for PostgreSQL

Les administrateurs de base de données (DBA) effectuent diverses tâches lors de l'administration d'une instance de base de données Amazon RDS for PostgreSQL. Si vous êtes administrateur de base de données déjà familier avec PostgreSQL, vous devez connaître certaines des différences importantes entre l'exécution de PostgreSQL sur votre matériel et RDS for PostgreSQL. Par exemple, comme il s'agit d'un service géré, Amazon RDS n'autorise pas l'accès shell à vos instances de base de données. Cela signifie que vous n'avez pas d'accès direct à pg_hba.conf et aux autres fichiers de configuration. Pour RDS for PostgreSQL, les modifications généralement apportées au fichier de configuration PostgreSQL d'une instance sur site sont apportées à un groupe de paramètres de base de données personnalisé associé à l'instance de base de données RDS for PostgreSQL. Pour plus d’informations, consultez Utilisation des groupes de paramètres.

Vous ne pouvez pas non plus accéder aux fichiers journaux de la même manière qu'avec une instance PostgreSQL sur site. Pour en savoir plus sur la journalisation, consultez Fichiers journaux de base de données RDS for PostgreSQL.

Autre exemple, vous n'avez pas accès au compte superuser PostgreSQL. Sur RDS for PostgreSQL, le rôle rds_superuser dispose des privilèges les plus élevés. Il est accordé à postgres au moment de la configuration. Que vous soyez familier avec l'utilisation de PostgreSQL sur site ou que vous n'ayez aucune expérience avec RDS for PostgreSQL, nous vous recommandons de comprendre le rôle rds_superuser et de vous renseigner sur l'utilisation des rôles, des utilisateurs, des groupes et des autorisations. Pour plus d’informations, consultez Comprendre les rôles et les autorisations PostgreSQL.

Voici quelques tâches DBA courantes pour RDS for PostgreSQL.

Utilisation de mécanismes de journalisation pris en charge par RDS for PostgreSQL

Il existe plusieurs paramètres, extensions et autres éléments configurables que vous pouvez définir pour journaliser les activités qui se produisent sur votre instance de base de données PostgreSQL. Tel est le cas des éléments suivants :

  • Le paramètrelog_statement peut être utilisé pour consigner l'activité utilisateur dans votre base de données PostgreSQL. Pour en savoir plus sur la journalisation RDS for PostgreSQL et sur la façon de surveiller les journaux, veuillez consulter Fichiers journaux de base de données RDS for PostgreSQL.

  • Le paramètre rds.force_admin_logging_level journalise les actions effectuées par l'utilisateur interne Amazon RDS (rdsadmin) dans les bases de données sur l'instance de base de données. Il écrit la sortie dans le journal d'erreurs PostgreSQL. Les valeurs autorisées sont disabled, debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, journal,fatal et panic. La valeur par défaut est disabled.

  • Le paramètre rds.force_autovacuum_logging_level peut être configuré pour capturer diverses opérations d'autovacuum dans le journal des erreurs PostgreSQL. Pour plus d’informations, consultez Enregistrement des activités d'autovacuum et de vacuum.

  • L'extension PostgreSQL Audit (pgAudit) peut être installée et configurée pour capturer des activités au niveau de la session ou au niveau de l'objet. Pour plus d’informations, consultez Utilisation de pgAudit pour journaliser l'activité de la base de données.

  • L'extension log_fdw vous permet d'accéder au journal du moteur de base de données à l'aide de SQL. Pour plus d’informations, consultez Utilisation de l'extension log_fdw pour accéder au journal de base de données à l'aide de SQL.

  • La bibliothèque pg_stat_statements est spécifiée par défaut pour le paramètre shared_preload_libraries dans RDS for PostgreSQL 10 et versions ultérieures. C'est cette bibliothèque que vous pouvez utiliser pour analyser les requêtes en cours d'exécution. Assurez-vous que pg_stat_statements est défini dans votre groupe de paramètres de base de données. Pour plus d'informations sur la surveillance de votre instance de base de données RDS for PostgreSQL à l'aide des informations fournies par cette bibliothèque, veuillez consulter Statistiques SQL pour RDS PostgreSQL.

  • Le paramètre log_hostname capture dans le journal le nom d'hôte de chaque connexion client. Pour RDS for PostgreSQL versions 12 et ultérieures, ce paramètre est défini sur off par défaut. Si vous l'activez, veillez à surveiller les temps de connexion des sessions. Lorsqu'il est activé, le service utilise la demande de recherche inversée DNS pour obtenir le nom d'hôte du client qui établit la connexion et pour l'ajouter au journal PostgreSQL. Cela a un impact notable au cours de la connexion à la session. Nous vous recommandons d'activer ce paramètre à des fins de dépannage uniquement.

D'une manière générale, le but de la journalisation est de permettre au DBA de surveiller, d'ajuster les performances et de résoudre les problèmes. La plupart des journaux sont chargés automatiquement sur Amazon CloudWatch ou Performance Insights. Ici, ils sont triés et regroupés pour fournir des métriques complètes pour votre instance de base de données. Pour en savoir plus sur la surveillance et les métriques d'Amazon RDS, veuillez consulter Surveillance des métriques dans une instance Amazon RDS.

Utilisation de pgBadger pour l'analyse de journal serveur avec PostgreSQL

Vous pouvez utiliser un analyseur de journaux tel que pgBadger pour analyser les journaux PostgreSQL. La documentation pgBadger indique que le motif %l (ligne de journal pour la session ou le processus) doit faire partie du préfixe. Cependant, si vous fournissez le log_line_prefix RDS actuel en tant que paramètre à pgBadger, il devrait quand même produire un rapport.

Par exemple, la commande suivante formate correctement un fichier journal Amazon RDS for PostgreSQL daté du 04/02/2014 à l'aide de pgBadger.

./pgbadger -f stderr -p '%t:%r:%u@%d:[%p]:' postgresql.log.2014-02-04-00

Utilisation de PGSnapper pour surveiller PostgreSQL

Vous pouvez utiliser PGSnapper pour vous aider à collecter régulièrement des statistiques et des métriques relatives aux performances d'Amazon RDS for PostgreSQL. Pour plus d'informations, consultez Monitor Amazon RDS for PostgreSQL performance using PGSnapper (Surveillance des performances d'Amazon RDS for PostgreSQL avec PGSnapper).