数据库
在PostgreSQL中创建数据库的机制与SQL SERVER是同样的,,数据库的创建是通过克隆数据库模板来实现的。CREATE DATABASE dbname并没有指明数据库模板,所以系统将默认克隆缺省的template1数据库。而template1数据库的默认表空间是pg_default,这个表空间是在数据库初始化时创建的,所以所有template1中的对象将被同步克隆到新的数据库中。
角色:就相当于岗位:角色可以是经理,课长,助理。
用户:就是具体的人:比如张XX课长,丁XX经理,王XX课长。
模式(schema)::在pg数据库中创建的任何对象(表,索引,视图等)都会在一个模式下被创建。
当创建对象时,如果未指定模式,这些对象将会在默认的模式下被创建,这个模式叫做public。
一个例外情况是另一个模式首先出现在search_path中.
同一数据库下可以有多个schema,不同数据库下的schema互不相关,schema是逻辑架构,将数据库进行逻辑划分。
官方建议:在管理员创建一个具体数据库后,应该为所有可以连接到该数据库的用户分别创建一个与用户名相同的模式,然后,将search_path设置为"$user"(即缺省模式为与用户名相同的模式),这样,任何当某个用户连接上来后,会默认将查找或者定义的对象都定位到与之同名的模式中。
角色和权限
Pg对于数据库对象,开始只有所有者和超级用户可以做任何操作,其它走acl。
在pg中,一个角色几乎与一个用户相同.因为一个角色可以是用户,也可以是一个用户组.
create user命令等同于create role,除了一点:create user有隐含的login权限.而create role不会有该权限.
创建角色群组
创建登录用户
登录用户名
配置权限
归属角色群组