shared_pool_view. Кеширования результатов маскирования и сериализации
В исходном дистрибутиве установлено по умолчанию: нет.
Связанные компоненты: нет.
Схема размещения:
ext.
Разработано СУБД Pangolin.
Расширение разработано в рамках функциональности кеширования результатов маскирования и сериализации и предоставляет возможность просмотра Shared Pool.
Функции расширения и добавленные представления изначально доступны только создателю расширения и суперпользователю. Чтобы другие пользователи могли ими пользоваться, необходимо выдать им соответствующие права.
Функции
Для административного управления Shared Pool предусмотрены две функции расширения shared_pool_view:
shared_pool_reset()
Функция удаляет все записи Shared Pool.
Синтаксис:
shared_pool_reset()
Входные параметры:
Отсутствуют.
Возвращаемое значение:
Функция возвращает количество удаленных элементов.
shared_pool_delete()
Функция удаляет одну запись по ключу (pool_id).
Синтаксис:
shared_pool_delete(pool_id)
Входные параметры:
| Название параметра | Тип значения | Описание |
|---|---|---|
pool_id | bigint | Идентификатор пула |
Возвращаемое значение:
Функция возвращает значение 1, если запись была удалена, или значение 0, если записи с переданным ключом не существовало.
Пример использования:
SELECT sum(shared_pool_delete(pool_id))
FROM (
SELECT pool_id
FROM shared_pool_list
WHERE data_preview LIKE 'SELECT data%'
) AS t;
В примере выполняется удаление всех записей, чей предварительный просмотр данных (data_preview) начинается с 'SELECT data'. Функция возвращает суммарное количество удаленных элементов.
Доработка
Доработка не проводилась.
Ограничения
Ограничения отсутствуют.
Установка
При наличии прав администратора СУБД включение модуля возможно выполнить вручную:
CREATE EXTENSION shared_pool_view SCHEMA ext;
Настройка
Конфигурационные параметры
Параметр | Допустимые значения | Значение по умолчанию | Установка | Описание |
|---|---|---|---|---|
|
|
| Требуется перезагрузка БД | Максимальное количество записей в хеш-таблице Shared Pool |
|
|
| Требуется перезагрузка БД | Количество партиций в хеш-таблице Shared Pool |
|
|
| Можно менять в рамках сессии | Включение или выключение использования Shared Pool для переиспользования маскированных текстов запросов |
|
|
| Можно менять в рамках сессии | Включение или выключение использования Shared Pool для переиспользования сериализованных планов запросов |
|
|
| Можно менять в рамках сессии | Включение или выключение кеша содержимого Shared Pool в памяти процесса. Кеш позволяет снизить |
Диагностика
Расширение shared_pool_view содержит два представления, с помощью которых можно анализировать состояние Shared Pool:
shared_pool_overviewshared_pool_list
Представление shared_pool_overview
Список столбцов представления shared_pool_overview:
Столбец | Описание |
|---|---|
| Максимальное количество элементов в Shared Pool, равно значению параметра |
| Количество занятых элементов Shared Pool |
| Количество свободных элементов Shared Pool |
| Количество общей памяти, используемой для хранения объектов Shared Pool |
| Отношение |
| Количество обращений к Shared Pool |
| Отношение чтений из Shared Pool к |
Представление shared_pool_overview всегда возвращает одну строку.
Представление shared_pool_list
Список колонок представления shared_pool_list:
Столбец | Описание |
|---|---|
| 64-битный целочисленный идентификатор записи в Shared Pool |
| текстовая копия хранимого содержимого элемента Shared Pool |
| Размер данных элемента Shared Pool в байтах |
| Номер партиции, к которой относится данный элемент |
Использование модуля
Функции включены по умолчанию, дополнительные действия не требуются.
Выключение функциональности
-
Выключите параметры
enable_shared_pool_for_maskingиenable_shared_pool_for_tracing_plansв конфигурационном файлеpostgresql.conf/postgres.yml:enable_shared_pool_for_masking = off
enable_shared_pool_for_tracing_plans = off -
Перезапустите СУБД Pangolin:
pg_ctl restart