

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 6 月 30 日。如需詳細資訊，請參閱[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# CHANGE\_SESSION\_PRIORITY
<a name="r_CHANGE_SESSION_PRIORITY"></a>

CHANGE\_SESSION\_PRIORITY 讓超級使用者可以立即變更系統中任何工作階段的優先順序。只有一個工作階段、使用者或查詢可以使用優先順序 `CRITICAL` 執行。

## 語法
<a name="r_CHANGE_SESSION_PRIORITY-synopsis"></a>

```
CHANGE_SESSION_PRIORITY(pid, priority)
```

## 引數
<a name="r_CHANGE_SESSION_PRIORITY-argument"></a>

 *pid*   
要變更其優先順序之工作階段的程序識別碼。值 `-1` 表示目前工作階段。需要 `INTEGER` 值。

 *priority*   
要指派給工作階段的新優先順序。這個引數必須是具備 `CRITICAL`、`HIGHEST`、`HIGH`、`NORMAL`、`LOW` 或 `LOWEST` 值的字串。

## 傳回類型
<a name="r_CHANGE_SESSION_PRIORITY-return-type"></a>

無

## 範例
<a name="r_CHANGE_SESSION_PRIORITY-example"></a>

若要傳回處理目前工作階段之伺服器處理程序的程序識別碼，請使用下列範例。

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