超级用户:类似于其他系统的sa、root、sysdba
initdb.exe 初始化是建立的第一个superuser 的名字 和 执行initdb.exe 时所用的os帐号相同
第一个superuser的oid=10
superuser是不受postgresq的对象权限系统控制的,可以在系统里做任何事情!危险!!
对象的所有者owner:很特殊的角色
- 对象的权限系统是对象上权限的有限集合,但有些权限是无法grant、revoke的,这就是owner所特性的:owner用户很多普通用户不具备的权利
- owner权限可以有superuser来转移
postgresql自8.1后不再区分用户、组了。统统称之为角色role
- role是和数据库无关的
- role就是权限的集合
- role可以互相交叉、继承、被赋于对象权限
特殊的public角色 :属于所有role的公共角色
- create role role_name [login createdb super iherit ...]
- create user role_name 等于 create role role_name login
- drop role
- grant {all| priviliges} on object to role_name
- revoke {all| priviliges} on object from role_name