CHANGE_SESSION_PRIORITY - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

CHANGE_SESSION_PRIORITY

CHANGE_ SESSION _ PRIORITY ermöglicht Superusern, die Priorität jeder Sitzung im System sofort zu ändern. Es kann immer nur eine Sitzung, ein Benutzer oder eine Abfrage mit der Priorität ausgeführt werden CRITICAL.

Syntax

CHANGE_SESSION_PRIORITY(pid, priority)

Argumente

pid

Die Prozess-ID der Sitzung, deren Priorität geändert wird. Der Wert -1 bezieht sich auf die aktuelle Sitzung. Benötigt einen INTEGER-Wert.

priority

Die neue Priorität, die der Sitzung zugewiesen werden soll. Bei diesem Argument muss es sich um eine Zeichenfolge mit dem Wert CRITICAL, HIGHEST, HIGH, NORMAL, LOW oder LOWEST handeln.

Rückgabetyp

None

Beispiele

Verwenden Sie das folgende Beispiel, um die Prozess-ID des Serverprozesses zurückzugeben, der die aktuelle Sitzung verarbeitet.

SELECT pg_backend_pid(); +----------------+ | pg_backend_pid | +----------------+ | 30311 | +----------------+

In diesem Beispiel wird die Priorität der aktuellen Sitzung in LOWEST geändert.

SELECT CHANGE_SESSION_PRIORITY(30311, 'Lowest'); +---------------------------------------------------------------------------------------+ | change_session_priority | +---------------------------------------------------------------------------------------+ | Succeeded to change session priority. Changed session (pid:30311) priority to lowest. | +---------------------------------------------------------------------------------------+

In diesem Beispiel wird die Priorität der aktuellen Sitzung in HIGH geändert.

SELECT CHANGE_SESSION_PRIORITY(-1, 'High'); +-------------------------------------------------------------------------------------------------+ | change_session_priority | +-------------------------------------------------------------------------------------------------+ | Succeeded to change session priority. Changed session (pid:30311) priority from lowest to high. | +-------------------------------------------------------------------------------------------------+

Verwenden Sie das folgende Beispiel, um eine gespeicherte Prozedur zum Ändern der Priorität einer Sitzung zu erstellen. Die Berechtigung zum Ausführen dieser gespeicherten Prozedur wird dem Datenbankbenutzer erteilt 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;

Anschließend ruft der Datenbankbenutzer mit dem Namen test_user die Prozedur auf.

CALL sp_priority_low(pg_backend_pid()); +------------------------------------------------------+ | result | +------------------------------------------------------+ | Success. Change session (pid:13155) priority to low. | +------------------------------------------------------+