plpgsql_check
Средство контроля plpgsql.
Связанные компоненты: plpgsql.
Схема размещения:
ext
.Расширение
plpgsql_check
- это полноценный статический анализатор кода plpgsql
для PostgreSQL, предоставляющий набор функций для анализа и профилирования функций и процедур, написанных на языке PL/pgSQL.Функциональные возможности расширения:
- анализ SQL внутри процедур и поиска ошибок, которые обычно не обнаруживаются при выполнении команды
CREATE PROCEDURE/FUNCTION
; - контроль уровней многих предупреждений и подсказок;
- добавление маркеров
PRAGMA
для изменения уровня отображения сообщений, о которых уже известно, или напоминания вернуться к ним для более глубокого анализа позже.
Помимо статического анализа расширение предоставляет возможность динамического анализа кода с отслеживанием выполнения функций (в том числе триггерных) и процедур на языке
pl/pgsql
.Для корректной работы
plpgsql_check
необходимо наличие расширения plpgsql.Функции расширения:
Имя | Описание |
---|---|
__plpgsql_show_dependency_tb() | Обнаружение зависимостей для функции |
plpgsql_check_function() | Расширенная проверка (статический анализ кода) функции с выводом в виде форматированного текста |
plpgsql_check_pragma() | Реализация функции pragma . Существует два разных варианта использования: для статического анализа с помощью plpgsql_check , где аргументы считываются из дерева синтаксического анализа; для управления трассировкой кода во время выполнения (аргументы обрабатываются аналогичным для variadic text образом) |
plpgsql_check_profiler() | Проверка/установка статуса профайлера |
plpgsql_check_tracer() | Проверка/установка статуса трассировщика |
plpgsql_coverage_branches() | Расчет показателя покрытия профилировщиком вариантов использования функции |
plpgsql_coverage_statements() | Расчет показателя покрытия профилировщиком строк с выражениями в функции |
plpgsql_profiler_function_statements_tb() | Отображение собранного профиля функции в виде таблицы |
plpgsql_profiler_function_tb() | Отображение собранного профиля функции в виде таблицы |
plpgsql_profiler_functions_all() | Отображение собранных профилей всех функций в виде таблицы |
plpgsql_profiler_install_fake_queryid_hook() | Отображение собранных профилей всех функций в виде таблицы |
plpgsql_profiler_remove_fake_queryid_hook() | Очистка сгенерированного функцией plpgsql_profiler_install_fake_queryid_hook() идентификатора запроса и возврат предыдущего значения |
plpgsql_profiler_reset() | Очистка статистики, собранной профайлером и относящейся к переданной в аргументе функции |
plpgsql_profiler_reset_all() | Очистка всей статистики, собранной профайлером |
plpgsql_show_dependency_tb() | Обнаружение зависимостей для функции |
Дополнительную информацию по поставляемому модулю plpgsql_check можно получить по ссылке.