CHANGE_SESSION_PRIORITY - Amazon Redshift

CHANGE_SESSION_PRIORITY

CHANGE_SESSION_PRIORITY를 통해 수퍼유저는 시스템 내 모든 세션의 우선 순위를 즉시 변경할 수 있습니다. 하나의 세션, 사용자 또는 쿼리만 CRITICAL 우선 순위로 실행할 수 있습니다.

구문

CHANGE_SESSION_PRIORITY(pid, priority)

인수

pid

우선 순위가 변경된 세션의 프로세스 식별자입니다. -1 값은 현재 세션을 참조합니다. INTEGER 값이 필요합니다.

우선순위

세션에 지정할 새로운 우선 순위입니다. 이 인수는 값이CRITICAL, HIGHEST, HIGH, NORMAL, LOW 또는 LOWEST인 문자열이어야 합니다.

반환 타입

None

예시

현재 세션을 처리하는 서버 프로세스의 프로세스 식별자를 반환하려면 다음 예제를 사용합니다.

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. | +------------------------------------------------------+