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 можно получить по ссылке.
Предыдущий раздел
plpgsql
Следующий раздел
plpython2u
Была ли страница полезной?