PG 的用户与模式

news/2024/10/18 23:29:05/

在PG中用户对象的集合叫做模式。

比如 postgres下有t1,t2,t3表,还有视图,索引等等,这些对象的集合就叫做模式。

postgres下所有对象的集合就叫做postgres模式。

不同的schema下可以有相同名字的对象。

在PG中一个用户可以拥有多个模式,一个模式只能属于一个用户。这与oracle不同,oracle中用户与模式是一一对应的。

比如:

创建一个用户u1

使用u1登录数据库

这里与oracle不同的:oracle创建一个用户默认没有任何的权限,在oracle中创建一个用户之后无法login和建表,但在PG中 新创建的一个用户默认有login和建表的权限,在PG中role没有login和建表的权限。

模式的管理方式:

1.默认管理方式

PG中创建一个表之后

比如:create table t1(……);那么该表属于public模式。

2.创建一个与用户名相同的模式,把所有的对象放在该模式下。

即用户名=模式名。这与oracle中模式的管理方式相同。

3.自行分类,按需求创建模式进行分类

在以后建表可以把对象放在不同的模式中方便分类。

授权某个模式下的对象访问权限给其它用户,则需要先授权访问该模式的权限给其它用户。

比如:

授权gaozhong模式下的qinghuagaozhong表给u2 可以这样写:

但u2在查询qinghuagaozhong表时还不能查询:

需要先把这个模式授权给其它用户:

这样u2用户就能查询 gaozhong模式下的qinggaohuazhong表了。

4.public模式

数据库初始化的时候会自动创建一个public模式,作用是我们创建一个对象的时候没有指定模式,会默认放在public模式下。

5.搜索路径

我们在自己创建的模式下面创建表,用\d命令看不见这张表,是因为我们的搜索路径不包括这个模式:

把这些模式放到 search_path中,以后用\d命令就可以查到了

但是这里面是有一个问题的,如果我们在对象下搜索到了t1这个表,那么在public中就不会显示t1这张表了,所以,在搜索的时候建议按照数据字典搜索:


http://www.ppmy.cn/news/1450421.html

相关文章

《QT实用小工具·四十四》支持图片和动图的文本编辑器

1、概述 源码放在文章末尾 该项目实现了一个功能丰富的文本编辑器,除了包含文本常规的编辑功能,还包括图片的插入功能和动图的插入功能,项目demo演示如下所示: 项目部分代码如下所示: #include "imagehelper.…

boost::asio::ip::tcp::resolver async_resolve异步解析

boost::asio::ip::tcp::resolver::async_resolve 是一个异步解析函数&#xff0c;用于将主机名和服务名转换为端点&#xff08;通常是 IP 地址和端口号&#xff09;。 以下是一个简单的使用示例&#xff1a; #include <boost/asio.hpp> #include <iostream>void …

万兴PDF专家 PDFelement Pro v10.3.8 破姐版!

&#x1f9d1;‍&#x1f4bb;万兴PDF专家 PDFelement Pro v10.3.8 破姐版 (https://docs.qq.com/sheet/DRVVxTHJ3RXJFVHVr)

基于 Wireshark 分析 IP 协议

一、IP 协议 IP&#xff08;Internet Protocol&#xff09;协议是一种网络层协议&#xff0c;它用于在计算机网络中实现数据包的传输和路由。 IP协议的主要功能有&#xff1a; 1. 数据报格式&#xff1a;IP协议将待传输的数据分割成一个个数据包&#xff0c;每个数据包包含有…

AcWing 3194:最大的矩形 ← 笛卡尔树

【题目来源】https://www.acwing.com/problem/content/3197/【题目描述】 在横轴上放了 n 个相邻的矩形&#xff0c;每个矩形的宽度是 1&#xff0c;而第 i&#xff08;1≤i≤n&#xff09;个矩形的高度是 hi。 这 n 个矩形构成了一个直方图。 例如&#xff0c;下图中六个矩形的…

K8s: Helm搭建mongodb集群(1)

mongodb 集群搭建 mongdb 部署前 需要创建 pvc, pv 和 sc&#xff0c;如果在云上会自动创建helm 应用中心: https://artifacthub.io 1 &#xff09;Helm 安装 mongodb A. 无本地存储配置&#xff0c;重启数据消失 在 https://artifacthub.io/packages/helm/bitnami/mongodb…

git 清除已提交的记录

git 清除已提交的记录 步骤一 首先确保你本地没有做任何更改 提交你的当前更改&#xff1a; bashCopy codegit add . git commit -m "Committing current changes"执行 rebase 命令&#xff1a; bash Copy code git rebase -i HEAD~2如果你不想保留当前更改&#xf…

C++_set和map的学习

1. 关联式容器 STL中的容器有序列式容器和关联式容器。 其中 vector 、 list 、 deque 、 forward_list(C11)就是序列式容器&#xff0c; 因为其底层为线性序列的数据结构&#xff0c;里面 存储的是元素本身 关联式容器 也是用来存储数据的&#xff0c;与序列式容器不同的是&am…