PostgreSQL数据库、表空间、角色及用户
一、创建数据库
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数据库、表空间、角色及用户相关推荐
- 创建oracle数据库表空间并分配用户
我们在本地的oracle上或者virtualbox的oracle上 创建新的数据库表空间操作: 通过system账号来创建并授权 /* --创建表空间 create tablespace YUJKDA ...
- 创建oracle 数据库表空间,角色,用户的sql语句
创建oracle 数据库表空间,角色,用户的sql语句 1.创建角色 CREATE ROLE "QIUDINGROLE" NOT IDENTIFIED; GRANT "C ...
- PostgreSQL数据库中的角色(Role)、用户(User)、模式(Schema)
文章目录 PostgreSQL数据库中的角色(Role).用户(User).模式(Schema) 角色(Role)和用户(User) 角色操作 CREATE ROLE 创建角色 ALTER ROLE修 ...
- Oracle11g创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题
本文转自:https://www.cnblogs.com/bjh1117/p/6605037.html, 侵删. 前提:本机已经安装了Oracle11g数据库 需求:使用PL SQL数据库连接工具操作 ...
- oracle sqlplus建用户,Oracle用SQL Plus创建数据库表空间和用户
1. 在电脑左下角点击"开始",然后输入"sql plus",选择运行sql plus程序(登录身份:指登录时的Role指定,oracle11g中分SYSDBA ...
- Oracle的用户密码忘了 Oracle用SQL Plus创建数据库表空间
1. (1)在cmd页面中运行"sqlplus"命令,进入sqlplus环境. (2)在输入用户名中运行"/as sysdba"命令,以操作系统权限认证的ora ...
- linux数据库创建表空间语句,如何用LINUX用命令创建ORACLE数据库表空间和用户
如何用LINUX用命令创建ORACLE数据库表空间和用户 文本模式下如何建 更新时间:2019-06-21 19:36 最满意答案 先su 到 oracle用户,SYS用户以DBA身份登陆 //创建临 ...
- Oracle 数据库创建表空间、创建用户指定表空间
Oracle 数据库创建表空间.创建用户指定表空间 //创建临时表空间 create temporary tablespace user_temp tempfile 'D:\oracle\oradat ...
- oracle怎么分配表空间,oracle数据库分配表空间、创造用户、分配用户权限操作
oracle数据库分配表空间.创建用户.分配用户权限操作 1.创建临时表空间 /* create temporary tablespace*/ create temporary tablespace ...
- Linux下oracle 数据库表空间、用户的创建,数据的导入导出操作指南
Oracle新建用户并且将已有的数据dmp文件导入到新建的用户下的操作流程 1.切换到oracle用户下 su - oracle 2.登录sqlplus sqlplus /nolog 3.使用sysd ...
最新文章
- 多gpu训练梯度如何计算,求和是否要求平均
- oracle 学习小结1
- css3动画,监控动画执行完毕
- 【网络编程】——connect函数遇见EINTR的处理
- Android App“加固”
- rust加载不进去服务器eac_基于腾讯云的 Rust 和 WebAssembly 函数即服务
- 【WinCE】流设备驱动简介及GPIO驱动的实现
- switch语句使用注意事项
- elasticsearch版本_折腾下Windows下的Elasticsearch安装与使用
- 不了解这些“高级货”,活该你面试当炮灰。。。【石杉的架构笔记】
- vim设置tab宽度为4_vim编辑器VimScript插件开发系列一「定制Vim 3」
- 移远EC20 EC600 EC200系列通过MQTT协议接入电信物联网平台
- [循证理论与实践] meta分析系列之二: meta分析的软件
- 最新传奇游戏公司网站模板源码+带手机端/易优CMS内核
- 不小心删了sxos文件夹_Switch SX OS 精简虚拟系统 教程
- Jquery 实现xml转json
- 网页版查询mysql数据_网页查询数据库 数据库查询
- springcloud常见问题
- 基于微信小程序的校园信息共享平台 毕业设计-附源码211615
- nginx上传文件大小报错500
热门文章
- java bean 数据库表_如何从数据库的表格自动生成javabean,包含get/set方法等
- python3 ftp模块_python3利用pyftpdlib模块启动ftp服务
- 程序和计划任务管理( 查看进程ps,控制进程,终止命令进程,top命令,at一次性任务,crontab周期任务)
- Nginx使用之location和rewrite用法
- oracle数据库swap占用率高,Oracle数据库所在服务器swap严重
- STM32F1如何切换到不同的型号
- C#结构体中数组的分配
- redhat 添加ssh端口_RHEL 7修改ssh默认端口号
- 背景图层和普通图层的区别_新手如何在PS中创建图层?不容错过的7种方法,你值得学习...
- 什么时候html的过渡版本,CSS过渡与转换