暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss每日一练第6天 | 模式管理

原创 许玉冲 2021-12-21
657

本次练习主要掌握了openGauss创建模式、修改模式属性和删除模式


Schema又称作模式。通过管理Schema,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的Schema下而不引起冲突。

每个数据库包含一个或多个Schema。数据库中的每个Schema包含表和其他类型的对象。数据库创建初始,默认具有一个名为public的Schema,且所有用户都拥有此Schema的权限。可以通过Schema分组数据库对象。Schema类似于操作系统目录,但Schema不能嵌套。

相同的数据库对象名称可以应用在同一数据库的不同Schema中,而没有冲突。例如,a_schema和b_schema都可以包含名为mytable的表。具有所需权限的用户可以访问数据库的多个Schema中的对象。

在数据库创建用户时,系统会自动帮助用户创建一个同名Schema。


注意事项

  • 只要用户对当前数据库有CREATE权限,就可以创建模式。
  • 系统管理员在普通用户同名schema下创建的对象,所有者为schema的同名用户(非系统管理员)。


语法格式:

CREATE SCHEMA schema_name 
    [ AUTHORIZATION user_name ] [ schema_element [ ... ] ];




创建、修改和删除Schema

  • 要创建Schema,请使用CREATE SCHEMA。默认初始用户和系统管理员可以创建Schema,其他用户需要具备数据库的CREATE权限才可以在该数据库中创建Schema,赋权方式请参考GRANT中将数据库的访问权限赋予指定的用户或角色中的语法。
  • 要更改Schema名称或者所有者,请使用ALTER SCHEMA。Schema所有者可以更改Schema。
  • 要删除Schema及其对象,请使用DROP SCHEMA。Schema所有者可以删除Schema。



–创建名为ds的模式

CREATE SCHEMA ds;

–查看ds模式信息, owner为omm

\dn+ ds;



在模式中建表:



删除模式:

–当schema非空时,如果要删除一个schema及其包含的所有对象,需要使用CASCADE关键字:

DROP SCHEMA ds_new CASCADE;
DROP USER jack;



修改模式信息:

–重命名模式为ds_new
ALTER SCHEMA ds RENAME TO ds_new;

–将ds_new的所有者修改为jack
ALTER SCHEMA ds_new OWNER TO jack;


命令参考地址:

https://opengauss.org/zh/docs/1.0.1/docs/Developerguide/Schema.html

https://opengauss.org/zh/docs/2.0.0/docs/Developerguide/CREATE-SCHEMA.html


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

评论