View a markdown version of this page

enable_case_sensitive_identifier - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

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, skema, tabel, dan kolom peka huruf besar/kecil. Kasus pengidentifikasi nama dipertahankan ketika Anda menyertakan pengidentifikasi dalam tanda kutip ganda dan disetel enable_case_sensitive_identifier ketrue. Kasus pengidentifikasi nama tidak dipertahankan, dan sebaliknya dikonversi ke huruf kecil, ketika Anda tidak menyertakan pengidentifikasi dalam tanda kutip ganda atau ketika Anda menyetel ke. enable_case_sensitive_identifier false

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

Contoh

Contoh berikut menunjukkan cara membuat dan menggunakan pengenal peka huruf besar/kecil 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 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)

Contoh berikut menunjukkan kapan kasus pengidentifikasi tidak dipertahankan.

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

Catatan Penggunaan

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

  • Jika Anda menggunakan fitur keamanan tingkat baris atau penyembunyian 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 pembuatan dan melampirkan kebijakan, dan kemudian menanyakan relasi yang menerapkan kebijakan. Untuk informasi tentang keamanan tingkat baris, lihat. Row-level keamanan Untuk informasi tentang penyembunyian data dinamis, lihatPenyembunyian data dinamis.

  • Saat Anda menyet enable_case_sensitive_identifier el ke aktif dan membuat tabel, Anda dapat mengatur nama kolom yang peka huruf besar/kecil. Saat Anda menyet enable_case_sensitive_identifier el ke nonaktif dan menanyakan tabel, nama kolom dikurangi. Ini dapat menghasilkan hasil kueri yang berbeda dari saat enable_case_sensitive_identifier disetel ke aktif. 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)
  • Sebaiknya pengguna biasa yang menanyakan tabel dengan penyembunyian data dinamis atau kebijakan keamanan tingkat baris yang dilampirkan memiliki setelan enable_case_sensitive_identifier default. Untuk informasi tentang keamanan tingkat baris, lihat. Row-level keamanan Untuk informasi tentang penyembunyian data dinamis, lihatPenyembunyian data dinamis.

  • Untuk mereferensikan pengidentifikasi dengan huruf besar campuran menggunakan notasi titik, bungkus setiap pengenal peka huruf besar-kecil dalam tanda kutip ganda. Misalnya, public."MixedCasedTable"."MixedCasedColumn".