Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
enable_case_sensitive_identifier
Valeurs (par défaut en gras)
true, false
Description
Valeur de configuration qui détermine si les identifiants de nom de bases de données, de tables et de colonnes sont sensibles à la casse. La casse des identifiants de nom est conservée lorsqu'ils sont entre guillemets. Lorsque vous définissez enable_case_sensitive_identifier
sur true
, la casse des identifiants de nom est conservée. Lorsque vous définissez enable_case_sensitive_identifier
sur false
, la casse des identifiants de nom n'est pas conservée.
La casse d'un nom d'utilisateur entre guillemets est toujours préservée, quel que soit le paramètre de l'option de configuration enable_case_sensitive_identifier
.
Exemples
L'exemple suivant montre comment créer et utiliser des identifiants sensibles à la casse pour le nom de la table et de la colonne.
-- 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)
L'exemple suivant montre quand la casse des identifiants n'est pas conservée.
-- 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)
Notes d’utilisation
-
Si vous utilisez l'actualisation automatique pour les vues matérialisées, nous vous recommandons de définir la valeur
enable_case_sensitive_identifier
dans le groupe de paramètres de votre cluster ou de votre groupe de travail. Cela permet de garantir queenable_case_sensitive_identifier
reste constant lorsque vos vues matérialisées sont actualisées. Pour plus d'informations sur l'actualisation automatique des vues matérialisées, consultez Actualisation d’une vue matérialisée. Pour plus d'informations sur la définition des valeurs de configuration dans les groupes de paramètres, reportez-vous à Groupes de paramètres Amazon Redshift dans le Guide de gestion Amazon Redshift. -
Si vous utilisez des fonctionnalités de sécurité au niveau des lignes ou de masquage des données dynamiques, nous vous recommandons de définir la valeur
enable_case_sensitive_identifier
dans le groupe de paramètres de votre cluster ou groupe de travail. Cela garantit queenable_case_sensitive_identifier
reste constant tout au long de la création et de l'attachement d'une politique, puis de l'interrogation d'une relation à laquelle une politique est appliquée. Pour plus d'informations sur la sécurité au niveau des lignes, consultez Sécurité au niveau des lignes. Pour plus d'informations sur le masquage des données dynamiques, consultez Masquage dynamique des données. -
Lorsque vous définissez
enable_case_sensitive_identifier
sur on et que vous créez une table, vous pouvez définir des noms de colonne sensibles à la casse. Lorsque vous définissezenable_case_sensitive_identifier
sur off et que vous interrogez la table, les noms des colonnes sont en minuscules. Cela peut produire des résultats de requête différents de ceux obtenus lorsqueenable_case_sensitive_identifier
est défini sur on. Prenez l’exemple suivant :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)
-
Nous recommandons aux utilisateurs standard interrogeant des tables associées à un masquage dynamique des données ou à des politiques de sécurité au niveau des lignes d'utiliser le paramètre enable_case_sensitive_identifier par défaut. Pour plus d’informations sur la sécurité au niveau des lignes, consultez Sécurité au niveau des lignes. Pour plus d’informations sur le masquage dynamique des données, consultez Masquage dynamique des données.