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.
enable_case_sensitive_identifier
Werte (Standard in Fettdruck)
true (wahr), false (falsch)
Beschreibung
Ein Konfigurationswert, der bestimmt, ob bei Namensbezeichnern von Datenbanken, Schemas, Tabellen und Spalten zwischen Groß- und Kleinschreibung unterschieden wird. Die Groß- und Kleinschreibung von Namensbezeichnern wird beibehalten, wenn Sie Bezeichner in doppelte Anführungszeichen setzen und auf setzen. enable_case_sensitive_identifier
true
Die Groß- und Kleinschreibung von Namensbezeichnern wird nicht beibehalten, sondern stattdessen in Kleinbuchstaben umgewandelt, wenn Sie Bezeichner nicht in doppelte Anführungszeichen setzen oder wenn Sie auf setzen. enable_case_sensitive_identifier
false
Die Groß-/Kleinschreibung eines in doppelte Anführungszeichen eingeschlossenen Benutzernamens bleibt unabhängig von der Einstellung der enable_case_sensitive_identifier
-Konfigurationsoption immer erhalten.
Beispiele
Das folgende Beispiel zeigt, wie Bezeichner für Tabellen- und Spaltennamen, bei denen die Groß-/Kleinschreibung beachtet werden muss, erstellt und verwendet werden.
-- To create and use case sensitive identifiers SET enable_case_sensitive_identifier TO true; -- Create tables and columns with case sensitive identifiers CREATE TABLE public."MixedCasedTable" ("MixedCasedColumn" int); INSERT INTO public."MixedCasedTable" VALUES (1); INSERT INTO public."MixedCasedTable" VALUES (2); INSERT INTO public."MixedCasedTable" VALUES (3); INSERT INTO public."MixedCasedTable" VALUES (4); INSERT INTO public."MixedCasedTable" VALUES (5); -- Now query with case sensitive identifiers SELECT "MixedCasedColumn" FROM public."MixedCasedTable";
MixedCasedColumn ------------------ 1 2 3 4 5 (5 rows)
SELECT * FROM public."MixedCasedTable" WHERE "MixedCasedColumn" = 1;mixedcasedcolumn ------------------ 1 (1 row)
Das folgende Beispiel zeigt einen Fall, bei dem die Groß-/Kleinschreibung von Bezeichnern nicht beibehalten wird.
-- To not use case sensitive identifiers RESET enable_case_sensitive_identifier; -- Mixed case identifiers are lowercased despite double quotation marks CREATE TABLE "MixedCasedTable2" ("MixedCasedColumn" int); CREATE TABLE MixedCasedTable2 (MixedCasedColumn int);
ERROR: Relation "mixedcasedtable2" already exists
SELECT "MixedCasedColumn" FROM "MixedCasedTable2";mixedcasedcolumn ------------------ (0 rows)
SELECT MixedCasedColumn FROM MixedCasedTable2;mixedcasedcolumn ------------------ (0 rows)
Nutzungshinweise
-
Wenn Sie die automatische Aktualisierung für materialisierte Ansichten verwenden, empfehlen wir, den Wert
enable_case_sensitive_identifier
in Ihrem Cluster oder in der Parametergruppe Ihrer Arbeitsgruppe festzulegen. Dadurch wird sichergestellt, dassenable_case_sensitive_identifier
konstant bleibt, wenn die materialisierten Ansichten aktualisiert werden. Informationen zur automatischen Aktualisierung materialisierter Ansichten finden Sie unter Aktualisieren einer materialisierten Ansicht. Informationen zum Festlegen von Konfigurationswerten in Parametergruppen finden Sie unter Amazon-Redshift-Parametergruppen im Amazon-Redshift-Verwaltungshandbuch. -
Wenn Sie Sicherheitsfunktionen auf Zeilenebene oder Funktionen zur dynamischen Datenmaskierung verwenden, empfehlen wir, den Wert
enable_case_sensitive_identifier
im Cluster oder in der Parametergruppe Ihrer Arbeitsgruppe festzulegen. Dadurch wird sichergestellt, dassenable_case_sensitive_identifier
beim Erstellen und Anfügen einer Richtlinie und der anschließenden Abfrage einer Relation, auf die eine Richtlinie angewendet wurde, konstant bleibt. Weitere Informationen zur Sicherheit auf Zeilenebene finden Sie unter Sicherheit auf Zeilenebene. Weitere Informationen zur dynamischen Datenmaskierung finden Sie unter Dynamische Datenmaskierung. -
Wenn Sie die Option
enable_case_sensitive_identifier
aktivieren und eine Tabelle erstellen, können Sie Spaltennamen festlegen, bei denen zwischen Groß- und Kleinschreibung unterschieden wird. Wenn Sieenable_case_sensitive_identifier
deaktivieren und die Tabelle abfragen, werden die Spaltennamen klein geschrieben. Dies kann zu anderen Abfrageergebnissen führen als mit aktivierter Optionenable_case_sensitive_identifier
. Betrachten Sie das folgende Beispiel:SET enable_case_sensitive_identifier TO on; --Amazon Redshift preserves case for column names and other identifiers. --Create a table with two columns that are identical except for the case. CREATE TABLE t ("c" int, "C" int); INSERT INTO t VALUES (1, 2); SELECT * FROM t; c | C ---+--- 1 | 2 (1 row) SET enable_case_sensitive_identifier TO off; --Amazon Redshift no longer preserves case for column names and other identifiers. SELECT * FROM t; c | c ---+--- 1 | 1 (1 row)
-
Wir empfehlen, dass normale Benutzer, die Tabellen mit dynamischer Datenmaskierung abfragen oder angefügte Sicherheitsrichtlinien auf Zeilenebene verwenden, die Standardeinstellung downcase_delimited_identifier nutzen. Weitere Informationen zur Sicherheit auf Zeilenebene finden Sie unter Sicherheit auf Zeilenebene. Weitere Informationen zur dynamischen Datenmaskierung finden Sie unter Dynamische Datenmaskierung.
-
Um Bezeichner mit gemischter Groß- und Kleinschreibung in Punktnotation zu referenzieren, setzen Sie jeden Bezeichner, bei dem Groß- und Kleinschreibung beachtet wird, in doppelte Anführungszeichen Beispiel,
public."MixedCasedTable"."MixedCasedColumn"
.