PostgreSQL 模式(SCHEMA)

PostgreSQL 模式(SCHEMA)

PostgreSQL 模式(SCHEMA)可以看著是一個表的集合。

一個模式可以包含檢視、索引、資料型別、函式和操作符等。

相同的物件名稱可以被用於不同的模式中而不會出現衝突,例如 schema1 和 myschema 都可以包含名為 mytable 的表。

使用模式的優勢:

  • 允許多個使用者使用一個數據庫並且不會互相干擾。

  • 將資料庫物件組織成邏輯組以便更容易管理。

  • 第三方應用的物件可以放在獨立的模式中,這樣它們就不會與其他物件的名稱發生衝突。

模式類似於作業系統層的目錄,但是模式不能巢狀。

語法

我們可以使用 CREATE SCHEMA 語句來建立模式,語法格式如下:

CREATE SCHEMA myschema.mytable (
...
);

例項

接下來我們連線到 itread01db 來建立模式 myschema:

itread01db=# create schema myschema;
CREATE SCHEMA

輸出結果 "CREATE SCHEMA" 就代表模式建立成功。

接下來我們再建立一個表格:

itread01db=# 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)
);

以上命令建立了一個空的表格,我們使用以下 SQL 來查看錶格是否建立:

itread01db=# select * from myschema.company;
 id | name | age | address | salary 
----+------+-----+---------+--------
(0 rows)

刪除模式

刪除一個為空的模式(其中的所有物件已經被刪除):

DROP SCHEMA myschema;

刪除一個模式以及其中包含的所有物件:

DROP SCHEMA myschema CASCADE;