CREATE USER

创建数据库角色的 SQL 命令

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

CREATE USER 添加于 PostgreSQL 6.3。从 PostgreSQL 8.1 开始,它成为 CREATE ROLE 的别名。

CREATE USER 和 CREATE ROLE

虽然 CREATE USERPostgreSQL 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”的任何评论、建议或更正 此处