本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CHANGE_SESSION_PRIORITY
CHANGE_SESSION_PRIORITY 可讓超級使用者立即變更系統中任何工作階段的優先順序。只有一個工作階段、使用者或查詢可以使用優先順序 CRITICAL
執行。
語法
CHANGE_SESSION_PRIORITY(pid, priority)
引數
- pid
-
要變更其優先順序之工作階段的程序識別碼。值
-1
表示目前工作階段。需要INTEGER
值。 - priority
-
要指派給工作階段的新優先順序。這個引數必須是具備
CRITICAL
、HIGHEST
、HIGH
、NORMAL
、LOW
或LOWEST
值的字串。
傳回類型
無
範例
若要傳回處理目前工作階段之伺服器處理程序的程序識別碼,請使用下列範例。
SELECT pg_backend_pid();
+----------------+ | pg_backend_pid | +----------------+ | 30311 | +----------------+
在此範例中,將目前工作階段的優先順序變更為 LOWEST
。
SELECT CHANGE_SESSION_PRIORITY(30311, 'Lowest');
+---------------------------------------------------------------------------------------+ | change_session_priority | +---------------------------------------------------------------------------------------+ | Succeeded to change session priority. Changed session (pid:30311) priority to lowest. | +---------------------------------------------------------------------------------------+
在此範例中,將目前工作階段的優先順序變更為 HIGH
。
SELECT CHANGE_SESSION_PRIORITY(-1, 'High');
+-------------------------------------------------------------------------------------------------+ | change_session_priority | +-------------------------------------------------------------------------------------------------+ | Succeeded to change session priority. Changed session (pid:30311) priority from lowest to high. | +-------------------------------------------------------------------------------------------------+
若要建立變更工作階段優先順序的預存程序,請使用下列範例。將執行此預存程序的許可授予給資料庫使用者test_user
。
CREATE OR REPLACE PROCEDURE sp_priority_low(pid IN int, result OUT varchar) AS $$ BEGIN SELECT CHANGE_SESSION_PRIORITY(pid, 'low') into result; END; $$ LANGUAGE plpgsql SECURITY DEFINER; GRANT EXECUTE ON PROCEDURE sp_priority_low(int) TO test_user;
接著名為 test_user
的資料庫使用者呼叫程序。
CALL sp_priority_low(pg_backend_pid());
+------------------------------------------------------+ | result | +------------------------------------------------------+ | Success. Change session (pid:13155) priority to low. | +------------------------------------------------------+