downcase_delimited_identifier - Amazon Redshift
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

downcase_delimited_identifier

Values (default in bold)

on, off

Description

This configuration is being retired. Instead use enable_case_sensitive_identifier.

Enables the super parser to read JSON fields that are in uppercase or mixed case. Also enables federated query support to supported PostgreSQL databases with mixed-case names of database, schema, table, and column. To use case-sensitive identifiers, set this parameter to off.

Usage Notes

  • If you're using row-level security or dynamic data masking features, we recommend setting the downcase_delimited_identifier value in your cluster or workgroup's parameter group. This ensures that downcase_delimited_identifier stays constant throughout creating and attaching a policy, and then querying a relation that has a policy applied. For information on row-level security, see Row-level security. For information on dynamic data masking, see Dynamic data masking.

  • When you set downcase_delimited_identifier to off and create a table, you can set case sensitive column names. When you set downcase_delimited_identifier to on and query the table, the column names are downcased. This can produce query results different from when downcase_delimited_identifier is set to off. Consider the following example:

    SET downcase_delimited_identifier TO off; --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_downcase_delimited_identifier TO on; --Amazon Redshift no longer preserves case for column names and other identifiers. SELECT * FROM t; c | c ---+--- 1 | 1 (1 row)
  • We recommend that regular users querying tables with dynamic data masking or row-level security policies attached have the default downcase_delimited_identifier setting. For more information, see For information on row-level security, see Row-level security. For information on dynamic data masking, see Dynamic data masking.