RDSpour les processus Postgre SQL - 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.

RDSpour les processus Postgre SQL

RDScar Postgre SQL utilise plusieurs processus.

Processus postmaster

Le processus postmaster est le premier processus lancé lorsque vous démarrez RDS SQL Postgre. Les principales responsabilités du processus postmaster sont les suivantes :

  • Créer et surveiller les processus d'arrière-plan

  • Recevoir les requêtes d'authentification des processus clients, et les authentifier avant d'autoriser la base de données à traiter les requêtes

Processus backend

Si le processus postmaster authentifie une requête client, il crée un nouveau processus backend, également appelé processus postgres. Un processus client se connecte à un seul processus backend. Le processus client et le processus backend communiquent directement sans intervention du processus postmaster.

Processus d'arrière-plan

Le processus postmaster crée plusieurs processus qui effectuent différentes tâches backend. Les plus importants sont les suivants :

  • WALécrivain

    RDSfor Postgre SQL écrit les données dans le tampon WAL (écriture anticipée) dans les fichiers journaux. Le principe de l'approche WAL est que la base de données ne peut pas écrire les modifications dans les fichiers de données tant que la base de données n'a pas écrit les enregistrements de journal décrivant ces modifications sur le disque. Le WAL mécanisme réduit les E/S du disque et permet à Postgre SQL d'utiliser les journaux RDS pour récupérer la base de données après une panne.

  • Dispositif d'écriture d'arrière-plan

    Ce processus écrit périodiquement les pages modifiées des mémoires tampons vers les fichiers de données. Une page est considérée comme modifiée lorsqu'un processus backend la modifie en mémoire.

  • Démon autovacuum

    Le démon est composé des éléments suivants :

    • Le lanceur autovacuum

    • Les processus employés autovacuum

    Lorsque la fonction autovacuum est activée, elle recherche les tables dans lesquelles un grand nombre de tuples ont été insérés, mis à jour ou supprimés. Les responsabilités du démon sont les suivantes :

    • Récupérer ou réutiliser l'espace disque occupé par les lignes mises à jour ou supprimées

    • Mettre à jour les statistiques utilisées par le planificateur

    • Protéger contre la perte d'anciennes données en raison du renvoi à la ligne de l'ID de transaction

    La fonction autovacuum automatise l'exécution des commandes VACUUM et ANALYZE. VACUUMprésente les variantes suivantes : standard et complet. La variante standard s'exécute parallèlement à d'autres opérations de base de données. VACUUM FULL requiert un verrou exclusif sur la table sur laquelle il travaille. Ainsi, il ne peut pas fonctionner parallèlement à des opérations qui accèdent à la même table. VACUUM génère beaucoup de trafic I/O, ce qui peut nuire aux performances des autres sessions actives.