Управление клиентскими процессами и сессиями пользователей
Greenplum® запускает новый внутренний процесс для каждого клиентского подключения. Пользователь-администратор или другой пользователь с ролью mdb_admin может:
- Получить список процессов.
- Отменить сессию пользователя.
- Завершить определенный процесс.
- Завершить соединение с базой данных.
- Управлять нагрузкой.
Получить список процессов
Выполните запрос к функции mdb_toolkit.pg_stat_activity(). В списке процессов будут получены в том числе запросы пользователей:
SELECT usename, pid, waiting, state, query, datname
FROM mdb_toolkit.pg_stat_activity();
Результат:
usename | pid | waiting | state | query | datname
---------+----------+---------+--------+------------------------+---------
sammy | 31861 | f | idle | SELECT * FROM testtbl; | testdb
billy | 31905 | t | active | SELECT * FROM topten; | testdb
Где:
-
usename— имя пользователя. -
pid— идентификатор процесса. -
waiting— процесс ожидает транзакцию:t— да.f— нет.
-
state— состояние процесса:active— действующий.idle— бездействующий.
-
query— запрос. -
datname— имя базы данных.
Отменить сессию пользователя
Завершить определенный процесс
Выполните запрос к функции mdb_toolkit.gp_cancel_backend():
SELECT *
FROM mdb_toolkit.gp_cancel_backend(<идентификатор_процесса>);
Идентификатор процесса можно получить со списком процессов в кластере.
Завершить соединение с базой данных
Выполните запрос к функции mdb_toolkit.gp_terminate_backend():
SELECT *
FROM mdb_toolkit.gp_terminate_backend(<идентификатор_процесса>);
Идентификатор процесса можно получить со списком процессов в кластере.
Управлять нагрузкой
-
Выполните запрос к конфигурационному файлу
gp_toolkit.gp_resgroup_config, чтобы получить название ресурсной группы и узнать текущее количество параллельных транзакций:SELECT groupname, concurrency FROM gp_toolkit.gp_resgroup_config; -
Установите количество параллельных транзакций для ресурсной группы:
ALTER RESOURCE GROUP <имя_ресурсной_группы> SET concurrency <количество_параллельных_транзакций>;
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах.