PostgreSQL数据库、表空间、角色及用户

Postgresql 模式简析. 1.模式(schema)的定义:模式(schema)是数据库的一个概念,可以理解为数据库中一个命名空间或者目录(但不可以嵌套),不同的模式下可以有相同名字表、函数、视图等对象且互相不冲突.提出模式的概念是为了管理数据库里面的对象,只要有足够的权限,每个模式的对象可以互相调用.允许使用模式的三个主要原因:(1) 允许多个用户同时使用一个数据库系统彼此互相不收干扰.(2)把数据库对象放在不同的模式下,... 阅读详情

一、创建数据库
1、通过pgAdmin创建数据库TestDb1:
打开数据库TestDb1看到建库脚本:


在目录——PostgreSQL(pg_catalog)——数据表——pg_database中可以查看多了一个数据库TestDb1:
select oid,* from pg_database;

 

此时,在E:\PostgreSQL\data\base下的文件夹如下:


以上说明,创建的数据库使用默认表空间(pg_default),数据文件夹使用oid命名。
同时,在E:\PostgreSQL\data\local下也会增加一些文件。
注:PostgreSQL的oid:行的对象表示符(对象ID);PostgreSQL的xid:事务ID;
    这两个ID都是4字节的整数,在超过40亿时将溢出,此后会出现重复,所以,假设它们唯一是错误的,除非你自己采取了措施来保证它们是唯一的。
    
2、通过psql命令行创建数据库:
postgres=# create database "TestDb2";
CREATE DATABASE
postgres=# 
postgres=# select oid,datname from pg_database;
  oid  |  datname  
-------+-----------
     1 | template1
 11905 | template0
 11913 | postgres
 16393 | TestDb1
 16394 | TestDb2
(5 行记录)
从pgAdmin打开,两者建库脚本一样,说明都是使用的默认参数;

二、创建表空间
1、通过pgAdmin创建表空间
创建表空间必须首先建空目录,假设建文件夹:E:\PostgreSQL\data\TestDbs1,建表空间是选择该目录。
打开表空间TestDbs1, 可以看到建表空间脚本:


2、通过psql命令行创建表空间
postgres=# create tablespace "TestDbs2" location 'E:\PostgreSQL\data\TestDbs2';
CREATE TABLESPACE

三、创建角色、用户
角色与用户的区别:
角色就相当于岗位:角色可以是经理,助理。
用户就是具体的人:比如陈XX经理,朱XX助理,王XX助理。
1、通过pgAdmin创建角色
创建角色TestRole1,输入密码,分配权限,需要分配login权限系统才会自动创建同名用户TestRole1。
打开角色TestRole1,可以看到创建角色脚本:


2、通过psql命令行创建角色
postgres=# create role "TestRole2";
CREATE ROLE
postgres=# select rolname from pg_roles;
  rolname  
-----------
 postgres
 TestRole1
 TestRole2
(3 行记录)
postgres=# select usename from pg_user;
  usename  
-----------
 postgres
 TestRole1
(2 行记录)
postgres=# create role "TestRole3" login;
CREATE ROLE
postgres=# select rolname from pg_roles;
  rolname  
-----------
 postgres
 TestRole1
 TestRole2
 TestRole3
(4 行记录)
postgres=# select usename from pg_user;
  usename  
-----------
 postgres
 TestRole1
 TestRole3
(3 行记录)
角色TestRole2创建时没有分配login权限,所以没有创建用户;在pgAdmin的“登录角色”中看不到,到pg_authid中把rolcanlogin字段由false改为true,系统自动创建同名用户,此时在“登录角色”中才可以看到。
也可以通过sql命令给该角色分配login权限,系统将自动创建同名用户TestRole2:
postgres=# select usename from pg_user;
  usename  
-----------
 postgres
 TestRole1
 TestRole3
 TestRole2
(4 行记录)
TestRole3角色创建时分配了login权限,系统自动创建一个同名的用户TestRole3。

通过psql命令行创建用户
PostgreSQL的create role与create user命令是等效的,只是前者默认是非login的,而后者默认是login的。
postgres=# create user "TestUser11" with password 'TestUser11' login in role "TestRole1";
CREATE ROLE
postgres=# select rolname from pg_roles;
  rolname   
------------
 postgres
 TestRole1
 TestRole3
 TestRole2
 TestUser11
(5 行记录)
postgres=# select usename from pg_user;
  usename   
------------
 postgres
 TestRole1
 TestRole3
 TestRole2
 TestUser11
(5 行记录)
postgres=# create user "TestUser1";
CREATE ROLE
postgres=# select rolname from pg_roles;
  rolname   
------------
 postgres
 TestRole1
 TestRole3
 TestRole2
 TestUser11
 TestUser1
(6 行记录)
postgres=# select usename from pg_user;
  usename   
------------
 postgres
 TestRole1
 TestRole3
 TestRole2
 TestUser11
 TestUser1
(6 行记录)

PostgreSQL 用户和角色管理_pgadmin创建角色,2024年最新金九银十 创建的组角色没有权限。只有具有LOGIN权限的组角色才可以用作数据库连接的初始角色名。一旦组角色拥有了登录权限,即可当作用户一样来使用。superuser拥有对数据库操作的最高权限,可以完成对数据库的所有权限检查。角色想要创建角色,必须明确给出该权限。一旦角色拥有该权限,即可更改和删除其他角色,还可以给其他角色赋予或撤销成员关系。角色想要创建数据库,必须明确的给出权限。alter role 角色名 权限1 权限2 ···对pen授予创建数据库和创建角色的权限。④、createrole (创建角色) 阅读详情

相关推荐

pg入门6—pg中catalogs是什么

PostgreSQL 的catalogs是系统目录表,它们包含了数据库的元数据,是 PostgreSQL 内部运作的重要组成部分。通过这些系统目录表,开发者和管理员可以获取数据库对象的信息,执行查询、监控和优化数据库的操作。

小诸葛的博客 2277

PostgreSQL数据库如何新建登录用户?

在PostgreSQL数据库中,如何创建新的登录用户呢?默认情况,PostgreSQL数据库的默认用户是:postgres如果我们需要创建一个新的低权限用户角色,应该如何操作?本章教程,简单介绍一下这个操作流程。

猿小白的博客 2521

BERTopic安装指南:hdbscan依赖问题全解析(附解决方案)

本文详细解析了安装BERTopic时常见的hdbscan依赖报错问题,深入剖析了C++编译环境缺失、Python版本兼容性以及包管理渠道混用三大核心原因。针对Windows、macOS和Linux不同系统,提供了创建虚拟环境、使用conda安装预编译包、安装C++编译工具等具体解决方案,帮助用户顺利安装BERTopic并开始文本主题建模实践。

weixin_29061041的博客 213

PostgreSQL表空间、数据库、模式、表、用户/角色之间的关系

PostgreSQL 表空间、数据库、模式、表、用户/角色

老哥讲数据库 3万+

Cloudflare 5秒盾逆向实战:从503到cf_clearance的全流程拆解(附避坑指南)

本文深入拆解了Cloudflare 5秒盾的完整逆向流程,从首次503响应到最终获取cf_clearance令牌,详细解析了五层挑战机制。文章重点分享了实战中的核心避坑指南,包括时间戳校验、动态图片尺寸获取、会话保持方案选择以及复杂环境检测的应对策略,为开发者提供了一套绕过5秒盾的实用方法论。

weixin_29327977的博客 2299

【全网最新】使用 1panel面板 部署若依系统( springboot 和 vue)项目

打开前端项目的vue.config.js文件,检查devServer下的proxy代理部分,然后将下面这个端口修改为你要在打包后访问的端口,即使用nginx代理前的接口。这个端口默认是80端口,这里把其修改为不会冲突的8010端口,后台接口的地址配置为9080,不过感觉这里设置的8010和9080可能没有用,因为部署前端静态页面是,也配置了一次网页的外部接口和api的接口,后期有空了再验证。打开右侧的Maven,点击:生存期->package,然后点击运行,等待打包成功,包在如图所示的文件夹中。

老薛的专栏 1756

PostgreSQL-数据库、模式、表空间、用户、用户角色

在 PostgreSQL数据库中,数据库(database)可以认为是物理层面数据集合。当使用不同的文字编码/排序规则等管理数据对象时,不同的文字编码规则/排序规则要创建独立的的数据库。PostgreSQL 关于文字编码/排序规则等行为的默认规则是以database为单位的。当需要对一组数据库表(或函数等)的并发数进行单独控制时,需要对这些表(或函数等)放入一个新建的 database 中,PostgreSQL 对最大并发访问会话进行单独控制的最小单元是 database。

顺其自然~专栏 373

UE4免费资产库新玩法:Quixel Bridge插件安装与Megascans资源导入全攻略

本文详细介绍了如何在UE4中安装Quixel Bridge插件并导入Megascans资源,帮助开发者快速获取高质量3D资产。通过分步教程和实用技巧,提升游戏或影视场景的制作效率,特别适合需要真实感环境的项目。

weixin_27729671的博客 365

PostgreSQL学习笔记(一):数据库、模式、表空间、用户、用户角色

当需要对一组数据库表(或函数等)的并发数进行单独控制时,需要对这些表(或函数等)放入一个新建的 database 中,PostgreSQL 对最大并发访问会话进行单独控制的最小单元是 database。其中的层级关系是:数据库-模式-对象。需要注意的是,虽然能创建多个数据库实例,但不能同时访问不同数据库中的对象,当需要访问另一个数据库中的表或其他对象时,需要重新连接到这个数据库,而模式却没有此限制,一个用户在连接到一个数据库后,就可以同时访问这个数据库中多个模式的对象。不同的数据库表空间有不同的定义。

u011047968的专栏 4077

3、流程引擎下载安装与部署

camunda有多种使用方式,此处先使用独立平台的方式部署引擎,这种用法适合分布式,微服务化,多语言异构系统的使用方式。

leyoliu的博客 5520

【时时三省】vector cast 常见错误解决/vcast常见错误解决

介绍在使用 vector cast/vcast 软件的过程中,遇到的异常问题。其它异常可以私信解决(购买专栏的前提下)。

时时三省的博客 449

PostgreSQL 表空间、数据库、模式、角色和用户之间的关系梳理

不同的数据库表空间有不同的定义。在postgres中,表空间允许在文件系统中定义数据库对象存储的位置,实质上就是指定一个目录。应用场景:存储磁盘没有空间时,可以使用表空间把数据存在其它地方;利用表空间对数据库进行性能优化。常用来将频繁使用的数据表或者索引放在高性能的硬盘上,而较少使用的放在普通硬盘上。自带两个表空间:pg_default,pg_globalpg_default 用来存储系统目录对象,用户表、用户表index、临时表、临时表index、内部临时表的默认空间。

老苏畅谈运维 2648

Oracle EBS(R12+)通过Multi-Org 多组织架构、Multi-Ledger 多账簿、SLA 子分类账会计、多币种引擎、多会计政策并行五大核心能力,为跨国企业提供一体化、自动化、合规的

Oracle EBS(R12+)提供全球会计核算解决方案,通过Multi-Org多组织架构实现跨国集团数据隔离与共享,支持四层组织结构(业务组→法律实体→经营单位→库存组织)。Multi-Ledger多账簿功能允许一笔业务多准则自动核算,包含主账簿、辅助账簿和报告币种。系统内置多币种处理引擎,覆盖全流程货币业务,支持自动重估、再计量和折算。通过SLA子分类账会计实现多会计政策并行处理,满足不同国家会计准则和税制要求。该方案可同时支持本地法定、集团合并及管理分析需求,实现全球财务数据集中管理,提升合规性和运营

金牌架构师 553

mysql select_catalog_role_PostgreSQL数据库、表空间、角色及用户

一、创建数据库1、通过pgAdmin创建数据库TestDb1:打开数据库TestDb1看到建库脚本:在目录——PostgreSQL(pg_catalog)——数据表——pg_database中可以查看多了一个数据库TestDb1:select oid,* from pg_database;此时,在E:\PostgreSQL\data\base下的文件夹如下:以上说明,创建的数据库使用默认表空间(p...

weixin_36398572的博客 303

基于Simulink的基于MPC的实时ZMP约束步态优化仿真

本文完成了基于Simulink的MPC实时ZMP约束步态优化仿真,实现了:✅ 建立3D-LIPM预测模型✅ 设计带ZMP可行域约束的MPC优化器✅ 实现闭环实时求解与扰动抑制✅ 验证强鲁棒性与安全性✅ 为人形机器人野外行走、人机交互提供先进控制方案。

xiaoheshang_123的博客 86

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Mysql表空间与表的关系_PostgreSQL表空间、数据库、模式、表、用户/角色之间的关系...

看PostgreSQL9的官方文档,我越看越迷糊,这表空间,数据库,模式,表,用户,角色之间的关系怎么在PostgreSQL里这么混乱呢? 经过中午的一个小实验,我逐渐理清了个中来龙去脉。下面我来还原我的试验,并循序讲清其中关系。 首先,实验出角色与用户的关系看PostgreSQL9的官方文档,我越看越迷糊,这表空间,数据库,模式,表,用户,角色之间的关系怎么在PostgreSQL里这么混乱呢?经...

weixin_34410975的博客 687

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: win7访问本机VMware虚拟机的CentOS上的web项目以及互相通信访问
下一篇: SEO优化方案
赔了命3000
博客等级 码龄9年 10粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值