PostgreSQL教程-数据定义-创建模式
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询5.9.1. 创建模式
要创建一个模式,可使用CREATE SCHEMA命令,并且给出选择的模式名称。例如:
CREATE SCHEMA myschema;
在一个模式中创建或访问对象,需要使用由模式名和表名构成的限定名,模式名和表名之间以点号分隔:
schema.table
在任何需要一个表名的地方都可以这样用,包括表修改命令和后续章节要讨论的数据访问命令(为了简洁我们在这里只谈到表,但是这种方式对其他类型的命名对象同样有效,例如类型和函数)。
事实上,还有更加通用的语法:
database.schema.table
也可以使用,但是目前它只是在形式上与SQL标准兼容。如果我们写一个数据库名称,它必须是我们正在连接的数据库。
因此,如果要在一个新模式中创建一个表,可用:
CREATE TABLE myschema.mytable (
...
);
要删除一个为空的模式(其中的所有对象已经被删除),可用:
DROP SCHEMA myschema;
要删除一个模式以及其中包含的所有对象,可用:
DROP SCHEMA myschema CASCADE;
有关于此的更一般的机制请参见第 5.14 节。
我们常常希望创建一个由其他人所拥有的模式(因为这是将用户动作限制在良定义的名字空间中的方法之一)。其语法是:
CREATE SCHEMA schema_name AUTHORIZATION user_name;
我们甚至可以省略模式名称,在此种情况下模式名称将会使用用户名,参见第 5.9.6 节。
以pg_开头的模式名被保留用于系统目的,所以不能被用户所创建。