將查詢指派給佇列 - Amazon Redshift

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

將查詢指派給佇列

下列範例根據使用者群組和查詢群組,將查詢指派給佇列。

根據使用者群組將查詢指派給佇列

如果使用者群組名稱列在佇列定義中,則由該使用者群組的成員所執行的查詢會指派給相應佇列。下列範例使用 SQL 命令 CREATE USERCREATE GROUPALTER GROUP,建立使用者群組並將使用者新增至群組。

create group admin_group with user admin246, admin135, sec555; create user vp1234 in group ad_hoc_group password 'vpPass1234'; alter group admin_group add user analyst44, analyst45, analyst46;

將查詢指派給查詢群組

您可以在執行時間將查詢指派給適當的查詢群組,以便將查詢指派給佇列。使用 SET 命令來開始查詢群組。

SET query_group TO group_label

這裡group_label是 WLM 組態中列出的查詢佇列。

您在 SET query_group 命令之後執行的所有查詢,將會以指定之查詢群組的成員身分執行,直到您重設查詢群組或結束目前的登入工作階段為止。如需有關設定和重設 Amazon Redshift 物件數據元的資訊,請參SETRESET在 SQL 命令參考中。

您指定的查詢群組標籤必須包含在目前的 WLM 組態中;否則,SET query_group 命令對查詢佇列沒有作用。

TO 子句中定義的標籤會擷取到查詢日誌中,您可以利用此標籤來進行故障診斷。如需查詢群組組態參數的相關資訊,請參閱組態參考中的 query_group

下列範例在查詢群組 'priority' 中執行兩個查詢,然後重設查詢群組。

set query_group to 'priority'; select count(*)from stv_blocklist; select query, elapsed, substring from svl_qlog order by query desc limit 5; reset query_group;

將查詢指派給超級使用者佇列

若要將查詢指派給超級使用者佇列,請以超級使用者身分登入 Amazon Redshift,然後在超級使用者組中執行查詢。完成時,請重設查詢群組,後續的查詢就不會在超級使用者佇列中執行。

以下範例指派兩個命令在超級使用者佇列中執行。

set query_group to 'superuser'; analyze; vacuum; reset query_group;

若要檢視超級使用者清單,請查詢 PG_USER 系統目錄資料表。

select * from pg_user where usesuper = 'true';