CREATE USER

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

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

CREATE USERPostgreSQL 6.3 中引入。从 PostgreSQL 8.1 开始,它一直是 CREATE ROLE 的别名。

CREATE USER 和 CREATE ROLE

虽然 CREATE USER 在本质上(自 PostgreSQL 8.1 起)是 CREATE ROLE 的一个别名,但有一个显著的行为差异:CREATE USER 创建的角色具有登录权限(选项 LOGIN)。然而,默认情况下,使用 CREATE ROLE 创建的角色没有登录权限(选项 NOLOGIN)。

这保留了 CREATE USER 在 PostgreSQL 8.1 之前的行为,同时允许使用 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 | {}

分类

DDL, SQL 命令, 用户和角色

另请参阅

ALTER USER, DROP USER, CREATE ROLE, createuser

反馈

请在此处提交有关“CREATE USER”的任何评论、建议或更正 在此处