Управление клиентскими процессами
Greenplum® запускает новый внутренний процесс для каждого клиентского подключения. Пользователь-администратор или другой пользователь с ролью mdb_admin
может отменить и завершить эти клиентские серверные процессы с помощью двух функций:
Получить список процессов
Чтобы получить список процессов, выполните запрос к представлению pg_stat_activity
:
SELECT usename, pid, waiting, state, query, datname
FROM 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(<идентификатор процесса>,<текст сообщения>)
Идентификатор процесса можно получить со списком процессов в кластере. Текст сообщения необязателен и передается клиенту при выполнении функции.
Завершить соединение с базой данных
Чтобы полностью завершить клиентское соединение с базой данных, воспользуйтесь функцией:
mdb_toolkit.gp_terminate_backend(<идентификатор процесса>,<текст сообщения>)
Идентификатор процесса можно получить со списком процессов в кластере. Текст сообщения необязателен и передается клиенту при выполнении функции.
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.