---
name: "CREATE_USER"
section: "7"
platform: "linux"
package: "postgresql"
version: "18.6-4"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/CREATE_USER"
---

# CREATE\_USER(7)

define a new database role

## NAME

CREATE\_USER - define a new database role

## SYNOPSIS

```
CREATE USER name [ [ WITH ] option [ ... ] ]
where option can be:
      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | REPLICATION | NOREPLICATION
    | BYPASSRLS | NOBYPASSRLS
    | CONNECTION LIMIT connlimit
    | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
    | VALID UNTIL 'timestamp'
    | IN ROLE role_name [, ...]
    | IN GROUP role_name [, ...]
    | ROLE role_name [, ...]
    | ADMIN role_name [, ...]
    | USER role_name [, ...]
    | SYSID uid
```

## DESCRIPTION

**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**.

## COMPATIBILITY

The **CREATE USER** statement is a PostgreSQL extension. The SQL standard leaves the definition of users to the implementation.

## SEE ALSO

CREATE ROLE ([**CREATE\_ROLE**(7)](/CREATE_ROLE/7.md))
