unvdb Schema

unvdb 允许您在一个数据库中创建多个模式 Schema。Schema 相当于一个组,您可以根据自己的需要将不同的表放在不同的 Schema 下

创建模式

要在当前数据库中创建新的模式,您必须在当前数据库中具有 CREATE 权限。a请按照如下语法使用 CREATE SCHEMA 语句:

CREATE SCHEMA [IF NOT EXISTS] schema_name
[AUTHORIZATION role_name];

说明:

  • CREATE SCHEMA 语句用于在当前数据库中创建一个新的模式。

  • schema_name 是模式的名称。它在同一个数据库中应该是唯一的。

  • IF NOT EXISTS 是可选的。它只是只有在指定的模式名称不存在时才创建新的模式。如果不使用此选项且指定的模式存在, unvdb 将给出一个错误。

  • AUTHORIZATION role_name 子句用于为指定的角色/用户创建模式。

要在模式中创建一个表,请使用 CREATE TABLE 语句,表名采用 schema_name.table_name 的格式,如下:

CREATE TABLE schema_name.table_name
(...)

如果您省略了模式名 schema_name,则使用默认的模式 publish

如果要使用模式中的表,表名采用 schema_name.table_name 的格式,如下:

SELECT * FROM schema_name.table_name;

unvdb 重命名模式

如果要重命名现有的模式,请使用 ALTER SCHEMA 语句,如下:

ALTER SCHEMA schema_name
RENAME TO new_name;

说明:

  • schema_name 是模式的名字

  • new_name 是模式的新名字

unvdb 修改模式所有者

如果要修改一个模式的所有人,请使用 ALTER SCHEMA 语句,如下:

ALTER SCHEMA schema_name
OWNER TO { new_owner | CURRENT_USER | SESSION_USER};

说明:

  • schema_name 是模式的名字

  • new_owner 是模式的新的所有者/角色

unvdb 删除模式

如果要删除一个模式,请使用 DROP SCHEMA 语句,如下:

DROP SCHEMA [IF EXISTS] schema_name
[ CASCADE | RESTRICT ];

说明:

  • schema_name 是模式的名字

  • IF EXISTS 是可选的,它指示只有在指定的模式存在时才进行删除,如果不存在,不返回错误。

  • RESTRICT 指示只有在模式为空的时候才能删除,它是默认的。 CASCADE 指示删除模式和其中的对象,以及对象依赖的对象。