创建模式,可使用CREATE SCHEMA命令,并且给出选择的模式名称。例如:
CREATE SCHEMA myschema;
在一个模式中创建或访问对象,需要使用由模式名和表名构成的限定名,模式名和表名之间以点号分隔:
schema.table
在任何需要表名的地方都可以这样使用,包括表修改命令和数据访问命令(为了方便我们在这里只谈到表,但是这种方式对其他类型的命名对象同样有效,例如类型和函数)。还有更加通用的语法:
database.schema.table
也可以使用,但是目前它只是在形式上与SQL标准兼容。如果我们写一个数据库名称,它必须是我们正在连接的数据库。
如果要在一个新模式中创建一个表,可用:
CREATE TABLE myschema.mytable (
...
);
要删除一个为空的模式(其中的所有对象已经被删除),可用:
DROP SCHEMA myschema;
要删除一个模式以及其中包含的所有对象,可用:
DROP SCHEMA myschema CASCADE;
创建一个由其他用户所拥有的模式,其语法是:
CREATE SCHEMA schema_name AUTHORIZATION user_name;
以pg_开头的模式名被保留用于系统目的,所以不能被用户所创建。