Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Mémoire RDS for PostgreSQL

Mode de mise au point
Mémoire 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.

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.

La mémoire RDS for PostgreSQL se décompose en deux parties : la mémoire partagée et la mémoire locale.

Mémoire partagée dans RDS for PostgreSQL

RDS for PostgreSQL alloue de la mémoire partagée au démarrage de l'instance. La mémoire partagée se décompose en sous-zones. Les sections suivantes décrivent les plus importantes.

Mémoires tampons partagées

Le groupe de mémoires tampons partagées est une zone de mémoire RDS for PostgreSQL qui contient toutes les pages actuellement ou précédemment utilisées par les connexions d'applications. Une page correspond à la version mémoire d'un bloc de disque. Le groupe de mémoires tampons partagées met en cache les blocs de données lus sur le disque. Le groupe réduit la nécessité de relire les données à partir du disque, ce qui améliore l'efficacité de la base de données.

Chaque table et chaque index est stocké sous la forme d'un tableau de pages de taille fixe. Chaque bloc contient plusieurs tuples, qui correspondent à des lignes. Un tuple peut être stocké sur n'importe quelle page.

Le groupe de mémoires tampons partagées dispose d'une mémoire limitée. Si une nouvelle demande requiert une page qui n'est pas en mémoire, et qu'il n'y a plus de mémoire disponible, RDS for PostgreSQL expulse une page moins fréquemment utilisée pour répondre à la demande. La politique d'expulsion est implémentée par un algorithme de balayage horaire.

Le paramètre shared_buffers détermine la quantité de mémoire que le serveur consacre à la mise en cache des données. La valeur par défaut est définie sur {DBInstanceClassMemory/32768} octets, en fonction de la mémoire disponible pour l'instance de base de données.

Mémoires tampons WAL (Write-Ahead Log)

Une mémoire tampon WAL (Write-Ahead Log) contient des données de transaction que RDS for PostgreSQL écrit ultérieurement sur un stockage permanent. Le mécanisme WAL permet à RDS for PostgreSQL d'effectuer les opérations suivantes :

  • Récupérer des données après une défaillance

  • Réduire les I/O disque en évitant les écritures fréquentes sur disque

Quand un client modifie des données, RDS for PostgreSQL écrit les modifications dans la mémoire tampon WAL. Lorsque le client émet une commande COMMIT, le processus d'écriture WAL écrit les données de transaction dans le fichier WAL.

Le wal_level paramètre détermine la quantité d'informations écrites dans le WAL, avec des valeurs possibles telles que minimalreplica, etlogical.

Mémoire locale dans RDS for PostgreSQL

Chaque processus backend alloue de la mémoire locale pour le traitement des requêtes.

Zone de mémoire de travail

La zone de mémoire de travail contient des données temporaires pour les requêtes qui effectuent des opérations de tri et de hachage. Par exemple, une requête contenant une clause ORDER BY effectue un tri. Les requêtes utilisent des tables de hachage dans les jointures de hachage et les agrégations.

work_memParamètre indiquant la quantité de mémoire à utiliser par les opérations de tri internes et les tables de hachage avant d'écrire sur des fichiers de disque temporaires, mesurée en mégaoctets. La valeur par défaut est de 4 Mo. Plusieurs sessions peuvent s'exécuter simultanément et chacune peut exécuter des opérations de maintenance en parallèle. La mémoire de travail totale utilisée peut donc être un multiple du paramètre work_mem.

Zone de mémoire des travaux de maintenance

La zone de mémoire des travaux de maintenance met les données en cache pour les opérations de maintenance. Ces opérations incluent l'opération VACUUM, la création d'un index et l'ajout de clés étrangères.

Le maintenance_work_mem paramètre indique la quantité maximale de mémoire à utiliser par les opérations de maintenance, mesurée en mégaoctets. La valeur par défaut est de 64 Mo. Une session de base de données ne peut exécuter qu'une seule opération de maintenance à la fois.

Zone de mémoire tampon temporaire

La zone de mémoire tampon temporaire met en cache les tables temporaires pour chaque session de base de données.

Chaque session alloue des mémoires tampons temporaires en fonction des besoins jusqu'à la limite que vous spécifiez. Lorsque la session se termine, le serveur efface le contenu des mémoires tampons.

Le temp_buffers paramètre définit le nombre maximum de tampons temporaires utilisés par chaque session, mesuré en mégaoctets. La valeur par défaut est de 8 Mo. Avant la première utilisation de tables temporaires au sein d'une session, vous pouvez modifier la valeur temp_buffers.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.