PostgreSQL 模式(SCHEMA)
PostgreSQL 模式(SCHEMA)可以看著是一個表的集合。
一個模式可以包含視圖、索引、據類型、函數和操作符等。
相同的對象名稱可以被用於不同的模式中而不會出現衝突,例如 schema1 和 myschema 都可以包含名為 mytable 的表。
使用模式的優勢:
允許多個用戶使用一個資料庫並且不會互相干擾。
將資料庫對象組織成邏輯組以便更容易管理。
第三方應用的對象可以放在獨立的模式中,這樣它們就不會與其他對象的名稱發生衝突。
語法
我們可以使用 CREATE SCHEMA 語句來創建模式,語法格式如下:
CREATE TABLE myschema.mytable ( ... );
實例
接下來我們連接到 zaixiandb 來創建模式 myschema:
zaixiandb=# create schema myschema; CREATE SCHEMA
輸出結果 "CREATE SCHEMA" 就代表模式創建成功。
接下來我們再創建一個表格:
zaixiandb=# 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 來查看表格是否創建:
zaixiandb=# select * from myschema.company; id | name | age | address | salary ----+------+-----+---------+-------- (0 rows)
刪除模式
刪除一個為空的模式(其中的所有對象已經被刪除):
DROP SCHEMA myschema;
刪除一個模式以及其中包含的所有對象:
DROP SCHEMA myschema CASCADE;