Перейти к основному содержимому

Функции подготовленных запросов

Функции, представленные в данном разделе, реализованы в рамках функциональности поддержки подготовленных запросов (prepared statements).

shared_prepared_statements()

Функция возвращает состояние функциональности разделяемых подготовленных запросов.

Синтаксис:

shared_prepared_statements()

Входные параметры:

Отсутствуют.

Возвращаемое значение:

Может выводить либо значение on, либо off.

Пример использования:

SHOW shared_prepared_statements;

Пример вывода:

 shared_prepared_statements
----------------------------
off
(1 row)

get_prepared_statements_list()

Функция возвращает список общих подготовленных запросов с характеристиками.

Синтаксис:

get_prepared_statements_list()

Входные параметры:

Отсутствуют.

Возвращаемые значения:

Название поляТип значенияОписание
stmt_usageint(4)Количество использований запроса в сессиях
stmt_num_paramsint(4)Количество параметров запроса
stmt_texttextТекст запроса
stmt_hashtextХеш запроса
stmt_search_pathtextsearch_path, для которого запрашивалась подготовка запроса
stmt_param_typesМассив OID-типов параметров

Пример использования:

SELECT get_prepared_statements_list();

get_prepared_statements_stat()

Функция возвращает значения счетчиков статистики подготовленных запросов.

Синтаксис:

get_prepared_statements_stat()

Входные параметры:

Отсутствуют.

Возвращаемые значения:

Название поляТип значенияОписание
prep_stmts_countint(4)Общее количество (совпадающих по тексту, типам параметров, search_path) подготовленных запросов
prep_stmts_limitint(4)Лимит количества подготовленных запросов
min_session_prep_stmts_countint(4)Минимальное количество подготовленных запросов на сессию среди активных клиентских сессий
max_session_prep_stmts_countМаксимальное количество подготовленных запросов на сессию среди активных клиентских сессий
session_prep_stmts_limitint(4)Максимальное количество именованных запросов на клиентскую сессию
all_session_prep_stmts_countint(4)Суммарное количество именованных подготовленных запросов по всем клиентским сессиям
all_session_prep_stmts_limitint(4)Лимит хранения именованных подготовленных запросов по всем клиентским сессиям, вычисляется как max_client_sessions*max_prepared_statements_per_session
createdint(8)Общее количество созданных подготовленных запросов за все время работы экземпляра
destroyedint(8)Общее количество удаленных подготовленных запросов за все время работы экземпляра

Пример использования:

SELECT get_prepared_statements_stat();

Пример вывода:

('(1,50,1,1,25,1,7500,1,0)',)

get_prepared_statements_session_stat()

Функция возвращает количество подготовленных запросов для указанной сессии.

Синтаксис:

get_prepared_statements_session_stat(
client_session_id INT(8).
)

Входные параметры:

Название поляТип значенияОписание
client_session_idint(8)Идентификатор клиентской сессии

Возвращаемое значение:

Количество подготовленных запросов для указанной сессии.

Пример использования:

SELECT get_prepared_statements_session_stat(1113870966951248128);

Пример вывода:

(1,)

get_client_sessions_stat()

Функция возвращает значения счетчиков статистики клиентских сессий.

Синтаксис:

get_client_sessions_stat()

Входные параметры:

Отсутствуют.

Возвращаемые значения:

Название поляТип значенияОписание
client_sessionsint(4)Общее количество зарегистрированных клиентских сессий
client_sessions_limitint(4)Лимит количества клиентских сессий
baselinesint(4)Общее количество источников клиентских сессий (Pangolin Pooler)
createdint(8)Общее количество созданных клиентских сессий за все время работы экземпляра
destroyedint(8)Общее количество удаленных клиентских сессий за все время работы экземпляра

Пример использования:

SELECT get_client_sessions_stat();

Пример вывода:

('(0,0,300,0,0)',)

get_client_sessions_sources()

Функция возвращает список идентификаторов источников клиентских сессий.

Синтаксис:

get_client_sessions_sources()

Входные параметры:

Отсутствуют.

Возвращаемые значения:

Название поляТип значенияОписание
region_idint(4)ID региона идентификаторов источника клиентских сессий
worker_idint(4)ID worker идентификаторов источника клиентских сессий
baseline_idint(8)ID источника клиентских сессий

Пример использования:

SELECT get_client_sessions_sources();

Пример вывода:

('(0,1,1113870752811057408)',)

get_client_sessions()

Функция возвращает список клиентских сессий с характеристиками.

Синтаксис:

get_client_sessions()

Входные параметры:

Отсутствуют.

Возвращаемые значения:

Название поляТип значенияОписание
region_idint(4)ID региона идентификатора источника клиентской сессии
worker_idint(4)ID worker идентификатора источника клиентской сессии
client_session_id`INT(8)Идентификатор клиентской сессии
transaction_read_onlyboolЗначение сессионной переменной transaction_read_only клиентской сессии
default_transaction_read_onlyboolЗначение сессионной переменной default_transaction_read_only клиентской сессии
is_superuserboolЗначение сессионной переменной is_superuser клиентской сессии
session_role_idoidИдентификатор сессионной роли (session_user) клиентской сессии
current_role_idoidИдентификатор текущей роли (current_role) клиентской сессии
search_pathtextУстановленное значение search_path клиентской сессии

Пример использования:

SELECT get_client_sessions();

Пример вывода:

('(0,1,1113871320153587968,f,f,t,10,0,public)',), ('(0,1,1113871321298632960,f,f,t,10,0,public)',)