Quantcast
Channel: ablog
Viewing all articles
Browse latest Browse all 1171

Redshift のオブジェクト名の大文字小文字の区別について

$
0
0

検証結果

  • enable_case_sensitive_identifier が true で、DDLやクエリでダブルクオートで囲むと大文字小文字を区別する。
  • enable_case_sensitive_identifier が false だと大文字小文字を区別しない(デフォルトは false)。
  • ダブルクオートで囲まないと小文字として扱われる。

検証ログ

$  psql -a "host=redshift-cluster-poc-central.********.ap-northeast-1.redshift.amazonaws.com user=awsuser dbname=dev port=5439"
psql (13.7, server 8.0.2)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type"help"for help.

dev=# \i case_sensitive_test.sql
-- enable_case_sensitive_identifier = false
show enable_case_sensitive_identifier;
 enable_case_sensitive_identifier
----------------------------------
 off
(1row)

createtable"TEST_UC" ("ID"INT);
CREATETABLEcreatetable"test_lc" ("id"int);
CREATETABLEselect id from test_uc;
 id
----
(0rows)

select ID from TEST_UC;
 id
----
(0rows)

select"ID"from"TEST_UC";
 id
----
(0rows)

select id from test_lc;
 id
----
(0rows)

select ID from TEST_LC;
 id
----
(0rows)

select"ID"from"TEST_LC";
 id
----
(0rows)

droptable test_uc;
DROPTABLEdroptable test_lc;
DROPTABLE-- enable_case_sensitive_identifier = trueset enable_case_sensitive_identifier totrue;
SET
show enable_case_sensitive_identifier;
 enable_case_sensitive_identifier
----------------------------------on
(1row)

createtable"TEST_UC" ("ID"INT);
CREATETABLEcreatetable"test_lc" ("id"int);
CREATETABLEselect id from test_uc;
psql:case_sensitive_test.sql:25: ERROR:  relation "test_uc" does not exist
select ID from TEST_UC;
psql:case_sensitive_test.sql:26: ERROR:  relation "test_uc" does not exist
select"ID"from"TEST_UC";
 ID
----
(0rows)

select id from test_lc;
 id
----
(0rows)

select ID from TEST_LC;
 id
----
(0rows)

select"ID"from"TEST_LC";
psql:case_sensitive_test.sql:31: ERROR:  relation "TEST_LC" does not exist
droptable"TEST_UC";
DROPTABLEdroptable"test_lc";
DROPTABLE
dev=#

Viewing all articles
Browse latest Browse all 1171

Latest Images

Trending Articles

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>