一、用户创建
1、通过create user|role
CREATE [USER | ROLE] user_name [ WITH ]
[ ENCRYPTED | UNENCRYPTED ]
{ PASSWORD | IDENTIFIED BY } { 'password' }
[LOGIN] [SUPERUSER] [CREATEDB] [CREATEROLE]
[REPLICATION] [INHERIT] [NOINHERIT]
VALID UNTIL 'YYYY-MM-DD';
CREATE [USER | ROLE] role_name
[LOGIN] [SUPERUSER] [CREATEDB] [CREATEROLE]
[REPLICATION] [INHERIT] [NOINHERIT]
[ ENCRYPTED | UNENCRYPTED ]
{ PASSWORD | IDENTIFIED BY } { 'password' }
VALID UNTIL 'YYYY-MM-DD';常用选项:
LOGIN:允许登录
SUPERUSER:超级用户权限
CREATEDB:允许创建数据库
CREATEROLE:允许创建角色
REPLICATION:允许复制/备份
INHERIT:是否继承其他角色的权限
2、通过命令行工具createuser
# 创建一个名为new_user的用户(会提示输入密码)
createuser -P new_user
# 创建超级用户
createuser -sP super_user说明:
支持使用
ENCRYPTED或UNENCRYPTED指定密码是否加密。
CREATE USER创建时会创建对应用户的schema,而CREATE ROLE默认不创建
CREATE USER默认具有登录权限,而CREATE ROLE默认没有可以通过create user role role_name ...来继承role用户的权限
二、用户管理
1. 修改用户的权限
ALTER USER user_name [ WITH ] [ [LOGIN] [SUPERUSER] [CREATEDB] [CREATEROLE] ];2. 修改用户名
ALTER USER user_name RENAME TO new_name;3. 修改与用户关联的指定会话参数值
ALTER USER user_name SET configuration_parameter { { TO | = } { value | DEFAULT } | FROM CURRENT };4. 重置与用户关联的指定会话参数值
ALTER USER user_name RESET { configuration_parameter | ALL };说明:
通过
ALTER USER修改的会话参数只针对指定的用户参数修改将在用户的下一次会话中生效
可以使用
RESET重置单个参数或所有参数
三、用户删除
语法格式
DROP USER [ IF EXISTS ] user_name [, ...] [ CASCADE | RESTRICT ];说明:
IF EXISTS:如果用户存在不会报错。
CASCADE:级联删除该用户所依赖的所有对象。
RESTRICT:如果用户仍有依赖对象,则拒绝删除(默认行为)。
注意事项:
建议在删除用户时使用
CASCADE选项,以避免残留依赖对象。删除的用户存有权限无法进行删除,需先提前回收权限。
四、用户过期设置
设置用户过期时间:
ALTER USER user_name VALID UNTIL 'YYYY-MM-DD';设置用户永不过期:
ALTER USER user_name VALID UNTIL 'infinity';最后修改时间:2025-08-29 09:35:03
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




