CREATE USER — define a new database role
CREATE USERname
[ [ WITH ]option
[ ... ] ] whereoption
can 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
is now an alias for
CREATE ROLE
.
The only difference is that when the command is spelled
CREATE USER
, LOGIN
is assumed
by default, whereas NOLOGIN
is assumed when
the command is spelled
CREATE ROLE
.
The CREATE USER
statement is a
PostgreSQL extension. The SQL standard
leaves the definition of users to the implementation.