pg_backend_memory_contexts
Эта страница переведена при помощи нейросети GigaChat.
Представление pg_backend_memory_contexts отображает все контексты памяти серверного процесса, прикрепленного к текущей сессии.
pg_backend_memory_contexts содержит одну строку для каждого контекста памяти.
Столбцы pg_backend_memory_contexts:
| Столбец | Тип | Описание |
|---|---|---|
name | text | Имя контекста памяти |
ident | text | Идентификационная информация контекста памяти. Это поле обрезается до 1024 байт |
type | text | Тип контекста памяти |
level | int4 | Уровень контекста в иерархии контекстов памяти (нумерация с 1). Уровень контекста также показывает его позицию в столбце path |
path | int4[] | Массив временных числовых идентификаторов, описывающих иерархию контекстов памяти. Первый элемент соответствует TopMemoryContext, последующие элементы содержат промежуточных родителей, а последний элемент содержит идентификатор текущего контекста |
total_bytes | int8 | Общий объем памяти в байтах, выделенный для этого контекста памяти |
total_nblocks | int8 | Общее количество блоков, выделенных для этого контекста памяти |
free_bytes | int8 | Свободное пространство в байтах |
free_chunks | int8 | Общее количество свободных фрагментов |
used_bytes | int8 | Используемое пространство в байтах |
По умолчанию представление pg_backend_memory_contexts могут читать только суперпользователи или роли с привилегиями роли pg_read_all_stats.
Поскольку контексты памяти создаются и уничтожаются в процессе выполнения запроса, идентификаторы, хранящиеся в столбце path, могут быть нестабильными при многократных обращениях к представлению в рамках одного запроса. Пример ниже демонстрирует эффективное использование этого столбца и вычисляет общий объем байт, используемый CacheMemoryContext и всеми его дочерними контекстами:
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];
Общее табличное выражение используется для обеспечения соответствия идентификаторов контекстов в столбце path при обоих обращениях к представлению.