Функции подготовленных запросов
Функции, представленные в данном разделе, реализованы в рамках функциональности поддержки подготовленных запросов (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_usage | int(4) | Количество использований запроса в сессиях |
stmt_num_params | int(4) | Количество параметров запроса |
stmt_text | text | Текст запроса |
stmt_hash | text | Хеш запроса |
stmt_search_path | text | search_path, для которого запрашивалась подготовка запроса |
stmt_param_types | Массив OID-типов параметров |
Пример использования:
SELECT get_prepared_statements_list();
get_prepared_statements_stat()
Функция возвращает значения счетчиков статистики подготовленных запросов.
Синтаксис:
get_prepared_statements_stat()
Входные параметры:
Отсутствуют.
Возвращаемые значения:
| Название поля | Тип значения | Описание |
|---|---|---|
prep_stmts_count | int(4) | Общее количество (совпадающих по тексту, типам параметров, search_path) подготовленных запросов |
prep_stmts_limit | int(4) | Лимит количества подготовленных запросов |
min_session_prep_stmts_count | int(4) | Минимальное количество подготовленных запросов на сессию среди активных клиентских сессий |
max_session_prep_stmts_count | Максимальное количество подготовленных запросов на сессию среди активных клиентских сессий | |
session_prep_stmts_limit | int(4) | Максимальное количество именованных запросов на клиентскую сессию |
all_session_prep_stmts_count | int(4) | Суммарное количество именованных подготовленных запросов по всем клиентским сессиям |
all_session_prep_stmts_limit | int(4) | Лимит хранения именованных подготовленных запросов по всем клиентским сессиям, вычисляется как max_client_sessions*max_prepared_statements_per_session |
created | int(8) | Общее количество созданных подготовленных запросов за все время работы экземпляра |
destroyed | int(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_id | int(8) | Идентификатор клиентской сессии |
Возвращаемое значение:
Количество подготовленных запросов для указанной сессии.
Пример использования:
SELECT get_prepared_statements_session_stat(1113870966951248128);
Пример вывода:
(1,)
get_client_sessions_stat()
Функция возвращает значения счетчиков статистики клиентских сессий.
Синтаксис:
get_client_sessions_stat()
Входные параметры:
Отсутствуют.
Возвращаемые значения:
| Название поля | Тип значения | Описание |
|---|---|---|
client_sessions | int(4) | Общее количество зарегистрированных клиентских сессий |
client_sessions_limit | int(4) | Лимит количества клиентских сессий |
baselines | int(4) | Общее количество источников клиентских сессий (Pangolin Pooler) |
created | int(8) | Общее количество созданных клиентских сессий за все время работы экземпляра |
destroyed | int(8) | Общее количество удаленных клиентских сессий за все время работы экземпляра |
Пример использования:
SELECT get_client_sessions_stat();
Пример вывода:
('(0,0,300,0,0)',)
get_client_sessions_sources()
Функция возвращает список идентификаторов источников клиентских сессий.
Синтаксис:
get_client_sessions_sources()
Входные параметры:
Отсутствуют.
Возвращаемые значения:
| Название поля | Тип значения | Описание |
|---|---|---|
region_id | int(4) | ID региона идентификаторов источника клиентских сессий |
worker_id | int(4) | ID worker идентификаторов источника клиентских сессий |
baseline_id | int(8) | ID источника клиентских сессий |
Пример использования:
SELECT get_client_sessions_sources();
Пример вывода:
('(0,1,1113870752811057408)',)
get_client_sessions()
Функция возвращает список клиентских сессий с характеристиками.
Синтаксис:
get_client_sessions()
Входные параметры:
Отсутствуют.
Возвращаемые значения:
| Название поля | Тип значения | Описание |
|---|---|---|
region_id | int(4) | ID региона идентификатора источника клиентской сессии |
worker_id | int(4) | ID worker идентификатора источника клиентской сессии |
client_session_id | `INT(8) | Идентификатор клиентской сессии |
transaction_read_only | bool | Значение сессионной переменной transaction_read_only клиентской сессии |
default_transaction_read_only | bool | Значение сессионной переменной default_transaction_read_only клиентской сессии |
is_superuser | bool | Значение сессионной переменной is_superuser клиентской сессии |
session_role_id | oid | Идентификатор сессионной роли (session_user) клиентской сессии |
current_role_id | oid | Идентификатор текущей роли (current_role) клиентской сессии |
search_path | text | Установленное значение search_path клиентской сессии |
Пример использования:
SELECT get_client_sessions();
Пример вывода:
('(0,1,1113871320153587968,f,f,t,10,0,public)',), ('(0,1,1113871321298632960,f,f,t,10,0,public)',)