edb_redwood_raw_names がデフォルト値である FALSE に設定されている場合、テーブル名、列名、トリガー名、プログラム名、ユーザー名などのデータベースオブジェクト名は、Oracle カタログで表示すると大文字で表示されます。 さらに、引用符は、囲まれた引用符で作成された名前を囲みます。
edb_redwood_raw_names が TRUE に設定されている場合、データベースオブジェクト名は、Oracle カタログから表示したときに PostgreSQL システムカタログに格納される方法で表示されます。 したがって、囲まれた引用符なしで作成された名前は、PostgreSQL で想定されるように小文字で表示されます。 囲まれた引用符で作成された名前は、作成されたとおりに表示されますが、引用符はありません。
たとえば、次のユーザー名が作成され、そのユーザーとのセッションが開始されます。
CREATE USER reduser IDENTIFIED BY password;
edb=# \c - reduser
Password for user reduser:
You are now connected to database "edb" as user "reduser".
reduser としてデータベースに接続すると、次のテーブルが作成されます。
CREATE TABLE all_lower (col INTEGER);
CREATE TABLE ALL_UPPER (COL INTEGER);
CREATE TABLE "Mixed_Case" ("Col" INTEGER);
USER_TABLES という名前の Oracle カタログから見ると、edb_redwood_raw_names がデフォルト値 FALSE に設定されているため、Mixed_Case 名を除いて、名前は大文字で表示されます。 この名前は、名前が作成され、引用符で囲まれたのと同じように表示されます。
edb=> SELECT * FROM USER_TABLES;
schema_name | table_name
| tablespace_name | status | temporary
-------------+--------------+-----------------+--------+-----------
REDUSER | ALL_LOWER | | VALID | N
REDUSER | ALL_UPPER | | VALID | N
REDUSER | "Mixed_Case" | | VALID | N
(3 rows)
edb_redwood_raw_names を TRUE に設定して表示すると、Mixed_Case 名を除き、名前は小文字で表示されます。 この名前は、名前の作成と同じように表示されますが、名前は引用符で囲まれていません。
edb=> SET edb_redwood_raw_names TO true;
SET
edb=> SELECT * FROM USER_TABLES;
schema_name | table_name |
tablespace_name | status | temporary
-------------+------------+-----------------+--------+-----------
reduser | all_lower | | VALID | N
reduser | all_upper | | VALID | N
reduser | Mixed_Case | | VALID | N
(3 rows)
これらの名前は、PostgreSQL の pg_tables カタログから見ると大文字と小文字が一致します。
edb=> SELECT schemaname, tablename, tableowner FROM pg_tables WHERE
tableowner = 'reduser';
schemaname | tablename | tableowner
------------+------------+------------
reduser | all_lower | reduser
reduser | all_upper | reduser
reduser | Mixed_Case | reduser
(3 rows)