Управление клиентскими процессами и сессиями пользователей
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® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.