当前位置: 首页 > news >正文

DAV_postgresql_3-schema

schem介绍:

什么是schema?
 用户对象的集合叫做模式
 不同模式下的对象可以同名
 可以把用户下对象根据业务分类,不同的对象放在不同的模式
 一个用户可以创与拥有多个模式
 一个模式只能属于一个用户
 普通用户创建模式需要授权指定数据库下的创建权限

授权
 grant create on database davdb to dav;


 创建模式
 create schema dav
 create schema dav6
 查看模式
 \dn
 删除模式
 drop schema dav;
 drop schema dav scade;

public模式
 初始化数据库时会自动创建一个public模式,共享给所有用户使用,任何用户都可以把对象创建在该模式下。
 由于PG下一个用户对应多个模式,创建用户时没有创建对应的默认模式,而对象都是基于模式管理的,所以创建了一个公用的模式public。
 基于数据库安全考虑,可以删除public模式。

搜索路径search_path
search_path指定默认搜索的模式,示例如下
# TYPE DATABASE USER ADDRESS METHO
postgres=# set search_path = "$user", public,dav;
SET
postgres=# show search_path;
search_path
---------------------
"$user", public, dav
(1 row)


权限管理
 每个数据库对象都有一个所有者,默认情况下,所有者拥有该对象的所有权限。

在数据库中所有的权限都和角色挂钩,postgresql权限分为两部分:
 系统权限:对数据库进行操作的权限
 对象权限:对某个对象进行操作的权限
对超级用户postgres不做权限检查,其它用户走ACL(Access ControL List)
对于数据库对象,开始只有所有者和超级用户可以做任何操作,其它走ACL

相关文章:

  • 初识MySQL · 数据库
  • 大白话Webpack 怎么理解,怎么使用它?
  • c++ 文件及基本读写总结
  • LM studio 加载ollama的模型
  • 【二分答案 C/C++】洛谷P1182 数列分段 Section II
  • 深度学习-15.生成对抗网络
  • 大语言模型学习
  • 图像算法工程师的技术图谱和学习路径
  • 从头开始学SpringBoot—02ssmp整合及案例
  • leetcode 48. 旋转图像
  • 《白帽子讲 Web 安全》之移动 Web 安全
  • SpringCloud系列教程(八):服务网关Gateway
  • 基于JavaWeb开发的Java+SpringBoot+vue+element实现物流管理系统
  • 基于Leaflet和SpringBoot的全球国家综合检索WebGIS可视化
  • python多线程之Event机制笔记
  • Hutool - JWT:轻松玩转 JSON Web Token
  • 基于springboot+vue实现的宠物救助及领养平台(源码+L文+ppt)43-21
  • C++ 标准库容器的常用成员函数
  • 【语法】C++中string类中的两个问题及解答
  • 计算机毕业设计SpringBoot+Vue.js音乐网站(源码+文档+PPT+讲解)
  • 试点首发进口消费品检验便利化措施,上海海关与上海商务委发文
  • 九江宜春领导干部任前公示,3人拟提名为县(市、区)长候选人
  • 俄代表团:16日上午将继续“等候乌代表团”
  • 机构发布“2025中国高职院校排名”
  • 光明日报:家长孩子共同“息屏”,也要保证高质量陪伴
  • 陕西省安康市汉阴县县长陈永乐已任汉阴县委书记