CHANGE_SESSION_PRIORITY - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

CHANGE_SESSION_PRIORITY

CHANGE_SESSION_PRIORITY memungkinkan pengguna super untuk segera mengubah prioritas sesi apa pun dalam sistem. Hanya satu sesi, pengguna, atau kueri yang dapat dijalankan dengan prioritasCRITICAL.

Sintaks

CHANGE_SESSION_PRIORITY(pid, priority)

Argumen

pid

Pengidentifikasi proses sesi yang prioritasnya diubah. Nilai -1 mengacu pada sesi saat ini. Membutuhkan INTEGER nilai.

prioritas

Prioritas baru yang akan ditugaskan ke sesi. Argumen ini harus berupa string dengan nilaiCRITICAL,HIGHEST,HIGH,NORMAL,LOW, atauLOWEST.

Jenis pengembalian

Tidak ada

Contoh

Untuk mengembalikan pengidentifikasi proses proses server yang menangani sesi saat ini, gunakan contoh berikut.

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

Dalam contoh ini, prioritas diubah menjadi LOWEST untuk sesi saat ini.

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

Dalam contoh ini, prioritas diubah menjadi HIGH untuk sesi saat ini.

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

Untuk membuat prosedur tersimpan yang mengubah prioritas sesi, gunakan contoh berikut. Izin untuk menjalankan prosedur tersimpan ini diberikan kepada pengguna databasetest_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;

Kemudian pengguna database bernama test_user memanggil prosedur.

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