edb_redwood_raw_names_与 Oracle 数据库兼容的配置参数_兼容Oracle数据库开发指南_云数据库PolarDB
edb_redwood_raw_names
如果 edb_redwood_raw_names 设置为其默认值 FALSE,则在从 Oracle 目录查看时,数据库对象名称(如表名称、列名称、触发器名称、程序名称、用户名等)将显示为大写字母(有关受支持的目录视图的完整列表,请参见面向 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);
在从 edb_redwood_raw_names 设置为默认值 FALSE 的 Oracle 目录 USER_TABLES 查看时,名称将显示为大写,但 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)
使用设置为 TRUE 的 edb_redwood_raw_names 查看时,名称将显示为小写,但 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)
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论