SET - 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.

SET

Legt den Wert eines Serverkonfigurationsparameters fest. Verwenden Sie den SET Befehl, um eine Einstellung nur für die Dauer der aktuellen Sitzung oder Transaktion zu überschreiben.

Mit dem RESET-Befehl setzen Sie einen Parameter auf dessen Standardwert zurück.

Sie können die Serverkonfigurationsparameter auf verschiedene Arten ändern. Weitere Informationen finden Sie unter Modifizieren der Serverkonfiguration.

Syntax

SET { [ SESSION | LOCAL ] { SEED | parameter_name } { TO | = } { value | 'value' | DEFAULT } | SEED TO value }

Die folgende Anweisung legt den Wert einer Sitzungskontextvariablen fest.

SET { [ SESSION | LOCAL ] variable_name { TO | = } { value | 'value' }

Parameter

SESSION

Gibt an, dass die Einstellung für die aktuelle Sitzung gültig ist. Standardwert.

variable_name

Gibt den Namen der Kontextvariablen an, die für die Sitzung festgelegt wurde.

Die Benennungskonvention ist ein zweiteiliger Name, der durch einen Punkt getrennt ist, z.B. identifier.identifier. Es ist nur ein Punkttrennzeichen zulässig. Verwenden Sie eine Kennung, die den Standardkennungsregeln für Amazon Redshift folgt. Weitere Informationen finden Sie unter Namen und Kennungen. Begrenzte Kennungen sind nicht zulässig.

LOCAL

Gibt an, dass die Einstellung für die aktuelle Transaktion gültig ist.

SEEDTO-Wert

Legt einen internen Startwert fest, der von der RANDOM Funktion für die Generierung von Zufallszahlen verwendet werden soll.

SETSEEDnimmt einen numerischen Wert zwischen 0 und 1 und multipliziert diese Zahl zur Verwendung mit der RANDOMFunktion Funktion mit (2 31 -1). Wenn Sie SET SEED vor mehreren RANDOM Aufrufen verwenden, RANDOM generiert es Zahlen in einer vorhersehbaren Reihenfolge.

parameter_name

Der Name des Parameters, der festgelegt werden soll. Weitere Informationen über Parameter finden Sie unter Modifizieren der Serverkonfiguration.

Wert

Neuer Parameterwert. Verwenden Sie einfache Anführungszeichen, um den Wert für eine bestimmte Zeichenfolge festzulegen. Bei Verwendung SET SEED enthält dieser Parameter den SEED Wert.

DEFAULT

Legt den Parameter auf den Standardwert fest.

Beispiele

Ändern eines Parameters für die aktuelle Sitzung

Im folgenden Beispiel wird der Datenstil festgelegt:

set datestyle to 'SQL,DMY';

Einrichten einer Abfragegruppe für das Workload-Management

Wenn Abfragegruppen als Teil der WLM Clusterkonfiguration in einer Warteschlangendefinition aufgeführt sind, können Sie den GROUP Parameter QUERY _ auf einen aufgelisteten Abfragegruppennamen setzen. Nachfolgende Abfragen werden der verknüpften Abfragewarteschlange zugewiesen. Die GROUP Einstellung QUERY _ bleibt für die Dauer der Sitzung gültig oder bis ein RESET QUERY GROUP _-Befehl aufgerufen wird.

In diesem Beispiel werden zwei Abfragen als Teil der Abfragegruppe „Priority“ ausgeführt. Anschließend wird die Abfragegruppe zurückgesetzt.

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

Weitere Informationen finden Sie unter Workload-Management.

Ändern Sie den Standard-Identitätsnamespace für die Sitzung

Ein Datenbankbenutzer kann festlegendefault_identity_namespace. Dieses Beispiel zeigt, wie Sie SET SESSION die Einstellung für die Dauer der aktuellen Sitzung überschreiben und dann den neuen Identitätsanbieter-Wert anzeigen können. Dies wird am häufigsten verwendet, wenn Sie einen Identitätsanbieter mit Redshift und IAM Identity Center verwenden. Weitere Informationen zur Verwendung eines Identitätsanbieters mit Redshift finden Sie unter Redshift mit IAM Identity Center Connect, um Benutzern ein Single-Sign-On-Erlebnis zu bieten.

SET SESSION default_identity_namespace = 'MYCO'; SHOW default_identity_namespace;

Nachdem Sie den Befehl ausgeführt haben, können Sie eine GRANT Anweisung oder eine CREATE Anweisung wie die folgende ausführen:

GRANT SELECT ON TABLE mytable TO alice; GRANT UPDATE ON TABLE mytable TO salesrole; CREATE USER bob password 'md50c983d1a624280812631c5389e60d48c';

In diesem Fall entspricht die Einstellung des standardmäßigen Identitätsnamespaces dem Präfix des Namespaces für jede Identität. In diesem Beispiel alice wird ersetzt durch. MYCO:alice Weitere Informationen zu Einstellungen, die sich auf die Redshift-Konfiguration mit IAM Identity Center beziehen, finden Sie unter ALTER SYSTEM und. ALTER IDENTITY PROVIDER

Festlegen einer Bezeichnung für eine Gruppe von Abfragen

Der GROUP Parameter QUERY _ definiert eine Bezeichnung für eine oder mehrere Abfragen, die in derselben Sitzung nach einem SET Befehl ausgeführt werden. Dieses Label wird wiederum protokolliert, wenn Abfragen ausgeführt werden, und kann verwendet werden, um die Ergebnisse einzuschränken, die aus den INFLIGHT Systemtabellen STL _ QUERY und STV _ und der QLOG Ansicht SVL _ zurückgegeben werden.

show query_group; query_group ------------- unset (1 row) set query_group to '6 p.m.'; show query_group; query_group ------------- 6 p.m. (1 row) select * from sales where salesid=500; salesid | listid | sellerid | buyerid | eventid | dateid | ... ---------+--------+----------+---------+---------+--------+----- 500 | 504 | 3858 | 2123 | 5871 | 2052 | ... (1 row) reset query_group; select query, trim(label) querygroup, pid, trim(querytxt) sql from stl_query where label ='6 p.m.'; query | querygroup | pid | sql -------+------------+-------+---------------------------------------- 57 | 6 p.m. | 30711 | select * from sales where salesid=500; (1 row)

Bezeichnungen von Abfragegruppen sind ein nützlicher Mechanismus, um einzelne Abfragen oder Gruppen von Abfragen zu isolieren, die als Teil von Skripts ausgeführt werden. Sie müssen Abfragen nicht anhand ihrer Namen identifizieren und verfolgen. Sie IDs können sie anhand ihrer Labels verfolgen.

Festlegen eines Seed-Wert für die Zufallsgenerierung von Zahlen

Im folgenden Beispiel wird die SEED Option with verwendetSET, damit die RANDOM Funktion Zahlen in einer vorhersehbaren Reihenfolge generiert.

Geben Sie zunächst drei RANDOM ganze Zahlen zurück, ohne zuerst den SEED Wert festzulegen:

select cast (random() * 100 as int); int4 ------ 6 (1 row) select cast (random() * 100 as int); int4 ------ 68 (1 row) select cast (random() * 100 as int); int4 ------ 56 (1 row)

Setzen Sie nun den SEED Wert auf .25 und geben Sie drei weitere RANDOM Zahlen zurück:

set seed to .25; select cast (random() * 100 as int); int4 ------ 21 (1 row) select cast (random() * 100 as int); int4 ------ 79 (1 row) select cast (random() * 100 as int); int4 ------ 12 (1 row)

Setzen Sie abschließend den SEED Wert auf RANDOM zurück und stellen Sie sicher.25, dass die gleichen Ergebnisse wie bei den vorherigen drei Aufrufen zurückgegeben werden:

set seed to .25; select cast (random() * 100 as int); int4 ------ 21 (1 row) select cast (random() * 100 as int); int4 ------ 79 (1 row) select cast (random() * 100 as int); int4 ------ 12 (1 row)

Im folgenden Beispiel wird eine benutzerdefinierte Kontextvariable festgelegt.

SET app_context.user_id TO 123; SET app_context.user_id TO 'sample_variable_value';