PostgreSQL - 架构

schema 是表的命名集合。 模式还可以包含视图、索引、序列、数据类型、运算符和函数。 模式类似于操作系统级别的目录,只是模式不能嵌套。 PostgreSQL 语句 CREATE SCHEMA 创建一个模式。

语法

CREATE SCHEMA 的基本语法如下 −

CREATE SCHEMA name;

其中 name 是模式的名称。


在 Schema 中创建表的语法

在schema中创建表的基本语法如下 −

CREATE TABLE myschema.mytable (
...
);

示例

让我们看一个创建模式的示例。 连接到数据库 testdb 并创建一个模式 myschema 如下 −

testdb=# create schema myschema;
CREATE SCHEMA

消息“CREATE SCHEMA”表示模式创建成功。

现在,让我们在上述模式中创建一个表,如下所示 −

testdb=# create table myschema.company(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25),
   SALARY   DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

这将创建一个空表。 您可以验证使用下面给出的命令创建的表 −

testdb=# select * from myschema.company;

这将产生以下结果 −

 id | name | age | address | salary
----+------+-----+---------+--------
(0 rows)

删除架构的语法

如果架构为空(其中的所有对象都已被删除),则要删除它,请使用命令 −

DROP SCHEMA myschema;

要删除包含所有包含对象的模式,请使用命令 −

DROP SCHEMA myschema CASCADE;

使用 Schema 的优点

  • 它允许许多用户使用一个数据库而不会相互干扰。

  • 它将数据库对象组织成逻辑组,使它们更易于管理。

  • 可以将第三方应用程序放入单独的模式中,这样它们就不会与其他对象的名称发生冲突。