如下是几个示例:
创建一个系统的超级用户 super_user,他具有所有权限
CREATE USER super_user WITH SUPERUSER;
创建一个可以建立数据库的用户 dbcreator
CREATE USER dbcreator CREATEDB;
新建一用户 new_user,密码为 pass,账户的有效期为2008-12-31
CREATE USER new_user WITH PASSWORD 'pass' VALID UNTIL '2008-12-31';
新建一个本地操作系统用户
CREATE USER "HOST-NAME\USERNAME" IDENTIFIED EXTERNALLY;
新建一个域操作系统用户
CREATE USER "DOMAIN-NAME\USERNAME" IDENTIFIED EXTERNALLY;
新建一个用户有效期到2015-01-01的用户
CREATE USER new_user WITH VALID UNTIL '2015-01-01';
新建一个密码有效期到2015-01-01的用户
CREATE USER new_user WITH PASSWORD 'AA' PASSWORD EXPIRE '2015-01-01';
新建一个可以在周一、周三、周四、周五登录的用户
CREATE USER new_user WITH CONNECT INTERVAL '1,3-5';
新建一个最大连接时间为2小时的用户
CREATE USER new_user WITH CONNECT DURATION 120;
新建一个最大空闲时间为2小时的用户
CREATE USER new_user WITH CONNECT IDLE TIME 120;
新建一个最大并发连接数为5的用户
CREATE USER new_user WITH CONNECTION LIMIT 5;
新建一个只允许在‘192.168.4.10’登录的用户
CREATE USER new_user WITH IP LIMIT '192.168.4.10';
修改用户账户
用户 DAVID 将自身口令修改为'r00t'。
ALTER USER david WITH PASSWORD 'r00t';
修改用户 user1 的系统权限,使 user1 能够创建数据库。
ALTER USER user1 WITH CREATEDB;
修改用户 user1 的默认角色为 role1。
ALTER USER user1 WITH DEFAULT ROLE role1;
取消用户 user1 的默认角色。
ALTER USER user1 WITH DEFAULT ROLE NONE;
修改用户 user1 的用户名为 user2;
ALTER USER user1 RENAME TO user2;
修改用户 new_user 的用户有效期到2015-01-01
ALTER USER new_user WITH VALID UNTIL '2015-01-01';
修改用户 new_user 的密码有效期到2015-01-01
ALTER USER new_user WITH PASSWORD EXPIRE '2015-01-01';
修改用户 new_user 的登录时间为周一、周三、周四、周五
ALTER USER new_user WITH CONNECT INTERVAL '1,3-5';
修改用户 new_user 的最大连接时间为2小时
ALTER USER new_user WITH CONNECT DURATION 120;
修改用户 new_user 最大空闲时间为2小时
ALTER USER new_user WITH CONNECT IDLE TIME 120;
修改用户 new_user 最大并发连接数为5
ALTER USER new_user WITH CONNECTION LIMIT 5;
修改用户 new_user 允许其在IP地址为‘192.168.4.10’的机器上登录
ALTER USER new_user WITH IP LIMIT '192.168.4.10';
通过系统表SYS_AUTHID查询用户信息:
SELECT * FROM SYS_AUTHID WHERE ROLNAME LIKE 'US%';
通过系统视图SYS_SHADOW或者SYS_USER查询用户信息:
SELECT * FROM SYS_SHADOW WHERE USENAME LIKE 'US%';
SELECT * FROM SYS_USER WHERE USENAME LIKE 'US%';
查询当前用户信息
SELECT CURRENT_USER;