
模式的概念
模式(Schema)是数据库中的一个概念,可以将其理解为一个命名空间或目录,不同的模式下可以有相同名称的表、函数等对象而不会产生冲突。提出模式的概念是为了便于管理,只要有权限,各个模式的对象可以互相调用。
在PostgreSQL中,一个数据库包含一个或多个模式,模式中又包含了表、函数以及操作符等数据库对象。在PostgreSQL中,不能同时访问不同数据库中的对象,当要访问另一个数据库中的表或其他对象时,需要重新连接到这个数据库,而模式却没有此限制,一个用户在连接到一个数据库后,就可以同时访问这个数据库中多个模式的对象。
需要模式的原因
- 允许多个用户使用同一个数据库且用户之间又不会互相干扰;
- 把数据库对象放在不同的模式下组织成逻辑组,使数据库对象更便于管理;
- 第三方的应用可以放在不同的模式中,这样就不会和其他对象的名字产生冲突了;
模式的使用
CREATE SCHEMA schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ]
CREATE SCHEMA AUTHORIZATION role_specification [ schema_element [ ... ] ]
CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION role_specification ]
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION role_specification
# role_specification :
# user_name
# CURRENT_ROLE
# CURRENT_USER
# SESSION_USER
# 创建模式
CREATE SCHEMA demoschema;
# 查看已有模式
\dn
# 删除模式
DROP SCHEMA demoschema;

# 模式修改
ALTER SCHEMA name RENAME TO new_name
ALTER SCHEMA name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
alter schema demoschema rename to schemademo;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




