一、创建数据库
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数据库、表空间、角色及用户相关推荐

  1. 创建oracle数据库表空间并分配用户

    我们在本地的oracle上或者virtualbox的oracle上 创建新的数据库表空间操作: 通过system账号来创建并授权 /* --创建表空间 create tablespace YUJKDA ...

  2. 创建oracle 数据库表空间,角色,用户的sql语句

    创建oracle 数据库表空间,角色,用户的sql语句 1.创建角色 CREATE ROLE "QIUDINGROLE" NOT IDENTIFIED; GRANT "C ...

  3. PostgreSQL数据库中的角色(Role)、用户(User)、模式(Schema)

    文章目录 PostgreSQL数据库中的角色(Role).用户(User).模式(Schema) 角色(Role)和用户(User) 角色操作 CREATE ROLE 创建角色 ALTER ROLE修 ...

  4. Oracle11g创建表空间、创建用户、角色授权、导入导出表以及中文字符乱码问题

    本文转自:https://www.cnblogs.com/bjh1117/p/6605037.html, 侵删. 前提:本机已经安装了Oracle11g数据库 需求:使用PL SQL数据库连接工具操作 ...

  5. oracle sqlplus建用户,Oracle用SQL Plus创建数据库表空间和用户

    1. 在电脑左下角点击"开始",然后输入"sql plus",选择运行sql plus程序(登录身份:指登录时的Role指定,oracle11g中分SYSDBA ...

  6. Oracle的用户密码忘了 Oracle用SQL Plus创建数据库表空间

    1. (1)在cmd页面中运行"sqlplus"命令,进入sqlplus环境. (2)在输入用户名中运行"/as sysdba"命令,以操作系统权限认证的ora ...

  7. linux数据库创建表空间语句,如何用LINUX用命令创建ORACLE数据库表空间和用户

    如何用LINUX用命令创建ORACLE数据库表空间和用户 文本模式下如何建 更新时间:2019-06-21 19:36 最满意答案 先su 到 oracle用户,SYS用户以DBA身份登陆 //创建临 ...

  8. Oracle 数据库创建表空间、创建用户指定表空间

    Oracle 数据库创建表空间.创建用户指定表空间 //创建临时表空间 create temporary tablespace user_temp tempfile 'D:\oracle\oradat ...

  9. oracle怎么分配表空间,oracle数据库分配表空间、创造用户、分配用户权限操作

    oracle数据库分配表空间.创建用户.分配用户权限操作 1.创建临时表空间 /* create temporary tablespace*/ create temporary tablespace ...

  10. Linux下oracle 数据库表空间、用户的创建,数据的导入导出操作指南

    Oracle新建用户并且将已有的数据dmp文件导入到新建的用户下的操作流程 1.切换到oracle用户下 su - oracle 2.登录sqlplus sqlplus /nolog 3.使用sysd ...

最新文章

  1. 多gpu训练梯度如何计算,求和是否要求平均
  2. oracle 学习小结1
  3. css3动画,监控动画执行完毕
  4. 【网络编程】——connect函数遇见EINTR的处理
  5. Android App“加固”
  6. rust加载不进去服务器eac_基于腾讯云的 Rust 和 WebAssembly 函数即服务
  7. 【WinCE】流设备驱动简介及GPIO驱动的实现
  8. switch语句使用注意事项
  9. elasticsearch版本_折腾下Windows下的Elasticsearch安装与使用
  10. 不了解这些“高级货”,活该你面试当炮灰。。。【石杉的架构笔记】
  11. vim设置tab宽度为4_vim编辑器VimScript插件开发系列一「定制Vim 3」
  12. 移远EC20 EC600 EC200系列通过MQTT协议接入电信物联网平台
  13. [循证理论与实践] meta分析系列之二: meta分析的软件
  14. 最新传奇游戏公司网站模板源码+带手机端/易优CMS内核
  15. 不小心删了sxos文件夹_Switch SX OS 精简虚拟系统 教程
  16. Jquery 实现xml转json
  17. 网页版查询mysql数据_网页查询数据库 数据库查询
  18. springcloud常见问题
  19. 基于微信小程序的校园信息共享平台 毕业设计-附源码211615
  20. nginx上传文件大小报错500

热门文章

  1. java bean 数据库表_如何从数据库的表格自动生成javabean,包含get/set方法等
  2. python3 ftp模块_python3利用pyftpdlib模块启动ftp服务
  3. 程序和计划任务管理( 查看进程ps,控制进程,终止命令进程,top命令,at一次性任务,crontab周期任务)
  4. Nginx使用之location和rewrite用法
  5. oracle数据库swap占用率高,Oracle数据库所在服务器swap严重
  6. STM32F1如何切换到不同的型号
  7. C#结构体中数组的分配
  8. redhat 添加ssh端口_RHEL 7修改ssh默认端口号
  9. 背景图层和普通图层的区别_新手如何在PS中创建图层?不容错过的7种方法,你值得学习...
  10. 什么时候html的过渡版本,CSS过渡与转换