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)
Входные параметры:
Название параметра |
Тип значения |
Описание |
|---|---|---|
|
|
Идентификатор пула |
Возвращаемое значение:
Функция возвращает значение 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