暂无图片
pg的shema 是不是子模式的概念
我来答
分享
暂无图片 匿名用户
pg的shema 是不是子模式的概念

pg的shema 是不是子模式的概念

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
Murkey

一个数据库包含一个或多个已命名的模式,模式又包含表。模式还可以包含其它对象,包括数据类型、函数、操作符等。同一个对象名可以在不同的模式里使用而不会导致冲突;比如,schema1和myschema都可以包含一个名为mytable的表。和数据库不同,模式不是严格分离的:只要有权限,一个用户可以访问他所连接的数据库中的任意模式中的对象。

​ schema级别的权限,包括允许查看schema中的对象,允许在schema中创建对象。
​ 默认情况下新建的schema的权限不会赋予给public角色,因此除了超级用户和owner,任何人都没有权限查看schema中的对象或者在schema中新建对象。

schema的特点

  • schema概念像命名空间
  • schema下不能再有schema嵌套
  • 各个对象比如表,函数等存放在各个schema下
  • 同一个schema下不能有重复的对象名字,但在不同schema下可以重复

使用schema的作用

  • 方便管理多个用户共享一个数据库,但是又可以互相独立.
  • 方便管理众多对象,更有逻辑性
  • 方便兼容某些第三方应用程序,创建对象时是有schema的

比如要设计一个复杂系统,由众多模块构成,有时候模块间又需要有独立性。各模块存放单独的数据库显然是不合适的。 这时候使用schema来分类各模块间的对象,再对用户进行适当的权限控制,这样逻辑也非常清晰。

详细的测试我这里有一个文章供您参考:https://www.modb.pro/db/103980

暂无图片 评论
暂无图片 有用 0
暂无图片
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏