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 GRANTS Tabelle SVV _ USER _ ab. Um die Liste der Rollen zu sehen, denen Rollen im Cluster zugewiesen wurden, fragen Sie die GRANTS Tabelle SVV _ ROLE _ 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. Im folgenden Beispiel werden Benutzergruppen erstellt und Benutzer mithilfe der SQL Befehle CREATE USERCREATE GROUP, und zu Gruppen hinzugefügtALTER 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;

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 den SET Befehl, um eine Abfragegruppe zu starten.

SET query_group TO group_label

Hier group_label ist ein Abfragegruppenlabel, das 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 Einrichten und Zurücksetzen von Amazon Redshift Redshift-Objekten finden Sie unter SET und RESET in der SQL Befehlsreferenz.

Die von Ihnen angegebenen Labels für Abfragegruppen müssen in der aktuellen WLM Konfiguration enthalten sein. Andernfalls hat der Befehl SETquery_group keine Auswirkung 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 eine Liste der Superuser anzuzeigen, fragen Sie die USER PG_-Systemkatalogtabelle ab.

select * from pg_user where usesuper = 'true';