pg_backend_memory_contexts
#
La vue pg_backend_memory_contexts
affiche tous les
contextes mémoire du processus serveur attaché à la session en cours.
pg_backend_memory_contexts
contient une ligne pour
chaque contexte mémoire.
Tableau 53.5. Colonnes de pg_backend_memory_contexts
Type de colonne Description |
---|
Nom du contexte mémoire |
Information d'identification du contexte mémoire. Ce champ est tronqué à 1024 octets |
Type du contexte mémoire |
The 1-based level of the context in the memory context hierarchy. The
level of a context also shows the position of that context in the
|
Array of transient numerical identifiers to describe the memory
context hierarchy. The first element is for
|
Nombre total d'octets alloués pour ce contexte mémoire |
Nombre total de blocs alloué pour ce contexte mémoire |
Espace libre en octets |
Nombre total de morceaux libres |
Espace utilisé en octets |
Par défaut, la vue pg_backend_memory_contexts
peut
seulement être lue par les superutilisateurs ou par les rôles qui ont les
droits du rôle pg_read_all_stats
.
Since memory contexts are created and destroyed during the running of a
query, the identifiers stored in the path
column
can be unstable between multiple invocations of the view in the same query.
The example below demonstrates an effective usage of this column and
calculates the total number of bytes used by
CacheMemoryContext
and all of its children:
WITH memory_contexts AS ( SELECT * FROM pg_backend_memory_contexts ) SELECT sum(c1.total_bytes) FROM memory_contexts c1, memory_contexts c2 WHERE c2.name = 'CacheMemoryContext' AND c1.path[c2.level] = c2.path[c2.level];
The Common Table Expression is used
to ensure the context IDs in the path
column
match between both evaluations of the view.