创建用户

用于创建数据库角色的 SQL 命令

CREATE USER 是用于创建数据库角色的 DDL 命令。

CREATE USER 添加于 PostgreSQL 6.3。自 PostgreSQL 8.1 起,它成为了 CREATE ROLE 的别名。

创建用户和创建角色

虽然 CREATE USER 从本质上讲(自 PostgreSQL 8.1 起)是 CREATE ROLE 的别名,但存在一个重要的行为差异,即 CREATE USER 会创建一个具有登录权限的角色(选项 LOGIN)。但是,使用 CREATE ROLE 创建的角色默认没有登录权限(选项 NOLOGIN)。

这保留了 PostgreSQL 8.1 之前 CREATE USER 的行为,同时可以使用 CREATE ROLE 安全地定义非登录角色。

请注意,createuser 核心实用程序的行为与 CREATE USER 相同,即使用它创建的角色默认具有登录权限。

更改历史记录

示例

CREATE USER 的基本用法示例

postgres=# CREATE USER foo;
CREATE ROLE

postgres=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- foo | | {} postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

请注意 CREATE USERCREATE ROLE 之间的行为差异

postgres=# CREATE ROLE bar;
CREATE ROLE

postgres=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- bar | Cannot login | {} foo | | {} postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

分类

DDLSQL 命令用户和角色

参见

ALTER USERDROP USERCREATE ROLEcreateuser

反馈

提交任何关于 "CREATE USER" 的评论、建议或更正 此处