Zuweisen von Abfragen zu Warteschlangen - 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.

Zuweisen von Abfragen zu Warteschlangen

Die folgenden Beispiele weisen Abfragen zu Warteschlangen auf der Grundlage von Benutzerrollen, Benutzergruppen und Abfragegruppen zu.

Zuweisen von Abfragen zu Warteschlangen auf der Grundlage von Benutzerrollen

Wenn ein Benutzer einer Rolle zugewiesen ist und diese Rolle an eine Warteschlange angehängt ist, werden von diesem Benutzer ausgeführte Abfragen dieser Warteschlange zugewiesen. Im folgenden Beispiel wird eine Benutzerrolle mit dem Namen sales_rw erstellt und der Benutzer test_user dieser Rolle zugewiesen.

create role sales_rw; grant role sales_rw to test_user;

Sie können die Berechtigungen zweier Rollen auch kombinieren, indem Sie eine Rolle explizit einer anderen Rolle zuweisen. Wenn Sie einem Benutzer eine verschachtelte Rolle zuweisen, erhält der Benutzer Berechtigungen für beide Rollen.

create role sales_rw; create role sales_ro; grant role sales_ro to role sales_rw; grant role sales_rw to test_user;

Um die Liste der Benutzer zu sehen, denen Rollen im Cluster zugewiesen wurden, fragen Sie die Tabelle SVV_USER_GRANTS ab. Um die Liste der Rollen zu sehen, denen Rollen im Cluster zugewiesen wurden, fragen Sie die Tabelle SVV_ROLE_GRANTS ab.

select * from svv_user_grants; select * from svv_role_grants;

Zuweisen von Abfragen zu Warteschlangen auf der Grundlage von Benutzergruppen

Wenn der Name einer Benutzergruppe in der Definition einer Warteschlange aufgeführt ist, werden von Mitgliedern dieser Benutzergruppe ausgeführte Abfragen der entsprechenden Warteschlange zugewiesen. Das folgende Beispiel erstellt Benutzergruppen und fügt den Gruppen Benutzern mithilfe der SQL-Befehle CREATE USER, CREATE GROUP und ALTER GROUP hinzu.

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;

Zuweisen einer Abfrage zu einer Abfragegruppe

Sie können eine Abfrage zur Laufzeit einer Warteschlange zuweisen, indem Sie die Abfrage der entsprechenden Abfragegruppe zuweisen. Verwenden Sie zum Starten einer Abfragegruppe den Befehl SET.

SET query_group TO group_label

Hier ist group_label die Beschriftung einer Abfragegruppe, die in der WLM-Konfiguration aufgeführt ist.

Alle Abfragen, die Sie nach dem Befehl SET query_group ausführen, werden als Mitglieder der angegebenen Abfragegruppe ausgeführt, bis Sie die Abfragegruppe zurücksetzen oder die aktuelle Anmeldungssitzung beenden. Informationen zum Einstellen und Zurücksetzen von Amazon-Redshift-Objekten finden Sie unter SET und RESET in der SQL-Befehlsreferenz.

Die von Ihnen angegebenen Abfragegruppenbezeichnungen müssen in der aktuellen WLM-Konfiguration enthalten sein. Andernfalls hat der Befehl SET query_group keine Auswirkungen auf Abfragewarteschlangen.

Die in der TO-Klausel definierte Beschriftung wird in den Abfrageprotokollen erfasst und kann daher für Fehlerbehebungszwecke verwendet werden. Für Informationen über den Konfigurationsparameter query_group vgl. query_group in der Konfigurationsreferenz.

Das folgende Beispiel führt zwei Abfragen als Teil der Abfragegruppe „Priorität“ aus. Anschließend wird die Abfragegruppe zurückgesetzt.

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;

Zuweisen von Abfragen zur Superuser-Warteschlange

Um eine Abfrage der Superuser-Warteschlange zuzuweisen, melden Sie sich bei Amazon Redshift als Superuser an und führen anschließend die Abfrage in der Superuser-Gruppe aus. Wenn Sie fertig sind, setzen Sie die Abfragegruppe zurück, damit nachfolgende Abfragen nicht in der Superuser-Warteschlange ausgeführt werden.

Im folgenden Beispiel werden zwei Befehle zur Ausführung in der Superuser-Warteschlange zugewiesen.

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

Um die Liste der Superusers anzuzeigen, fragen Sie die Systemkatalogtabelle PG_USER ab.

select * from pg_user where usesuper = 'true';