CREATE USER — define a new database role
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| PROFILEprofile_name| GLOBAL
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.
It can create regular unmanaged roles, along with the managed roles processed by Postgres Pro Shardman.
The CREATE USER statement is a
Postgres Pro Shardman extension. The SQL standard
leaves the definition of users to the implementation.