pg数据库的角色、模式、表空间

1. 角色(role)与用户(user):对于PostgreSQL来说,这是完全相同的两个对象。

唯一的区别是在创建的时候:ROLE不具有缺省的LOGIN权限。

CREATE ROLE kanon PASSWORD 'kanon' LOGIN;
---等同于
CREATE USER kanon PASSWORD 'kanon';

  

2. 数据库是被模式(schema)切分的,一个数据库至少有一个模式,所有数据库内部的对象(object)是被创建于模式的。默认public

3. 表空间是一个存储区域,在一个表空间中可以存储多个数据库。默认为pg_default

一个数据库并不直接存储表结构等对象的,而是在数据库中逻辑创建了至少一个模式,在模式中创建了表等对象。

通过将不同的模式指派给不同的角色,可以实现权限分离;又可以通过授权,实现模式间对象的共享,并且public模式可以存储大家都需要访问的对象。

原文地址:https://www.cnblogs.com/pass-ion/p/14500586.html