Перейти к основному содержимому

pg_backend_memory_contexts

примечание

Эта страница переведена при помощи нейросети GigaChat.

Представление pg_backend_memory_contexts отображает все контексты памяти серверного процесса, прикрепленного к текущей сессии.

pg_backend_memory_contexts содержит одну строку для каждого контекста памяти.

Столбцы pg_backend_memory_contexts:

СтолбецТипОписание
nametextИмя контекста памяти
identtextИдентификационная информация контекста памяти. Это поле обрезается до 1024 байт
typetextТип контекста памяти
levelint4Уровень контекста в иерархии контекстов памяти (нумерация с 1). Уровень контекста также показывает его позицию в столбце path
pathint4[]Массив временных числовых идентификаторов, описывающих иерархию контекстов памяти. Первый элемент соответствует TopMemoryContext, последующие элементы содержат промежуточных родителей, а последний элемент содержит идентификатор текущего контекста
total_bytesint8Общий объем памяти в байтах, выделенный для этого контекста памяти
total_nblocksint8Общее количество блоков, выделенных для этого контекста памяти
free_bytesint8Свободное пространство в байтах
free_chunksint8Общее количество свободных фрагментов
used_bytesint8Используемое пространство в байтах

По умолчанию представление 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 при обоих обращениях к представлению.