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

相关推荐
奈斯ing1 小时前
【MySQL篇】高效学习官方文档指南(基于MySQL8.0版本详解)
运维·数据库·学习·mysql
Brandon汐1 小时前
数据库part2---子查询
数据库·sql
Tapdata 钛铂数据2 小时前
信创 CDC 实战|国产数据库的数据高速通道:OceanBase 实时入仓 StarRocks
数据库·oceanbase
liyongjie2 小时前
openGauss数据库DWR报告解读
数据库·oracle
楼台的春风2 小时前
【Linux驱动开发 ---- 4.1_sysfs 详解】
linux·运维·c语言·数据库·人工智能·驱动开发·嵌入式硬件
一个天蝎座 白勺 程序猿3 小时前
深度体验KingbaseES在线平台:从零掌握企业级数据库实战(附架构图+代码案例)
数据库·k8s
傲祥Ax3 小时前
数据库中间件ShardingSphere5
数据库
码农开荒路3 小时前
Redis之缓存一致性
数据库·redis·缓存
Nicander4 小时前
🐘Postgresql用户权限体系
数据库
篱笆院的狗4 小时前
Spring Boot 工程启动以后,我希望将数据库中已有的固定内容,打入到 Redis 缓存中,请问如何处理?
数据库·spring boot·缓存