enable_case_sensitive_identifier - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

enable_case_sensitive_identifier

Nilai (default dalam huruf tebal)

benar, salah

Deskripsi

Nilai konfigurasi yang menentukan apakah pengidentifikasi nama database, tabel, dan kolom peka huruf besar/kecil. Kasus pengidentifikasi nama dipertahankan ketika tertutup dalam tanda kutip ganda. Saat Anda menyetel enable_case_sensitive_identifier ketrue, kasus pengidentifikasi nama dipertahankan. Saat Anda menyetel enable_case_sensitive_identifier kefalse, kasus pengidentifikasi nama tidak dipertahankan.

Kasus nama pengguna yang dilampirkan dalam tanda kutip ganda selalu dipertahankan terlepas dari pengaturan opsi enable_case_sensitive_identifier konfigurasi.

Contoh

Contoh berikut menunjukkan cara membuat dan menggunakan pengidentifikasi case sensitive untuk nama tabel dan kolom.

-- 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)

Contoh berikut menunjukkan ketika kasus pengidentifikasi tidak dipertahankan.

-- 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)

Catatan Penggunaan

  • Jika Anda menggunakan autorefresh untuk tampilan terwujud, sebaiknya setel enable_case_sensitive_identifier nilai di grup parameter klaster atau grup kerja Anda. Ini memastikan bahwa enable_case_sensitive_identifier tetap konstan ketika tampilan terwujud Anda disegarkan. Untuk informasi tentang autorefresh untuk tampilan terwujud, lihat. Menyegarkan tampilan yang terwujud Untuk informasi tentang menyetel nilai konfigurasi dalam grup parameter, lihat grup parameter Amazon Redshift di Panduan Manajemen Pergeseran Merah Amazon.

  • Jika Anda menggunakan fitur keamanan tingkat baris atau masking data dinamis, sebaiknya setel enable_case_sensitive_identifier nilai di grup parameter cluster atau grup kerja Anda. Ini memastikan bahwa enable_case_sensitive_identifier tetap konstan selama membuat dan melampirkan kebijakan, dan kemudian menanyakan relasi yang memiliki kebijakan yang diterapkan. Untuk informasi tentang keamanan tingkat baris, lihat. Keamanan tingkat baris Untuk informasi tentang penyembunyian data dinamis, lihatPenutupan data dinamis.

  • Saat Anda mengatur enable_case_sensitive_identifier ke on dan membuat tabel, Anda dapat mengatur nama kolom peka huruf besar/kecil. Saat Anda mengatur enable_case_sensitive_identifier untuk menonaktifkan dan menanyakan tabel, nama kolom diturunkan. Ini dapat menghasilkan hasil kueri yang berbeda dari kapan enable_case_sensitive_identifier diatur ke on. Pertimbangkan contoh berikut:

    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)
  • Kami menyarankan agar pengguna reguler yang menanyakan tabel dengan masking data dinamis atau kebijakan keamanan tingkat baris yang dilampirkan memiliki pengaturan enable_case_sensitive_identifier default. Untuk informasi tentang keamanan tingkat baris, lihat. Keamanan tingkat baris Untuk informasi tentang penyembunyian data dinamis, lihatPenutupan data dinamis.