CREATE USER — 定义一个新的数据库角色
CREATE USERname[ [ WITH ]option[ ... ] ] whereoptioncan be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMITconnlimit| [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL | VALID UNTIL 'timestamp' | IN ROLErole_name[, ...] | IN GROUProle_name[, ...] | ROLErole_name[, ...] | ADMINrole_name[, ...] | USERrole_name[, ...] | SYSIDuid
CREATE USER 现在是 CREATE ROLE 的别名。唯一的区别是,当命令写作 CREATE USER 时,默认假定为 LOGIN;而默认假定为 NOLOGIN 的情况,则是当命令写作 CREATE ROLE 时。
CREATE USER 语句是一个 PostgreSQL 扩展。SQL 标准将用户的定义留给具体实现。