/
telnov.ob
/
postgresql-patterns-library
Обзор
Документация
Войти
/
telnov.ob
/
postgresql-patterns-library
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
functions/explain_json.sql
21 строка
611 B
Rinat Mukhtarov
json_explain() => explain_json()
20 окт 2023, 18:22
20 окт 2023, 18:22
36a13bf
Код
Авторство
О чём код?
CREATE OR REPLACE FUNCTION public.explain_json( query TEXT, params TEXT[] DEFAULT ARRAY[]::text[] ) RETURNS SETOF JSON LANGUAGE plpgsql set search_path = '' AS $$ BEGIN RETURN QUERY EXECUTE 'EXPLAIN (' || ARRAY_TO_STRING(ARRAY_APPEND(params, 'FORMAT JSON'), ',') || ')' || query; END $$; --TEST SELECT (public.explain_json('SELECT * FROM pg_class', ARRAY['ANALYSE'])->0->'Plan'->>'Total Cost')::numeric AS cost --TODO добавить 3-й параметр в функцию: returns_null_on_error --select explain_json('select unknown_col from pg_class');