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

enable_case_sensitive_identifier

Werte (Standard in Fettdruck)

true (wahr), false (falsch)

Beschreibung

Ein Konfigurationswert, der bestimmt, ob Namensbezeichner von Datenbanken, Tabellen und Spalten die Groß- und Kleinschreibung beachten. Die Groß-/Kleinschreibung von Namensbezeichnern wird beibehalten, wenn sie in doppelte Anführungszeichen eingeschlossen werden. Wenn Sie enable_case_sensitive_identifier auf true festlegen, wird die Groß-/Kleinschreibung von Namensbezeichnern beibehalten. Wenn Sie enable_case_sensitive_identifier auf false festlegen, wird die Groß-/Kleinschreibung von Namensbezeichnern nicht beibehalten.

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 "MixedCasedTable" ("MixedCasedColumn" int); CREATE TABLE MixedCasedTable (MixedCasedColumn int); -- Now query with case sensitive identifiers SELECT "MixedCasedColumn" FROM "MixedCasedTable"; MixedCasedColumn ------------------ (0 rows) SELECT MixedCasedColumn FROM MixedCasedTable; mixedcasedcolumn ------------------ (0 rows)

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 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, dass enable_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, dass enable_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 Sie enable_case_sensitive_identifier deaktivieren und die Tabelle abfragen, werden die Spaltennamen klein geschrieben. Dies kann zu anderen Abfrageergebnissen führen als mit aktivierter Option enable_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.