CREATE USER username [ WITH [ SYSID uid ] [ PASSWORD 'password' ] ] [ CREATEDB | NOCREATEDB ] [ CREATEUSER | NOCREATEUSER ] [ IN GROUP groupname [, ...] ] [ VALID UNTIL 'abstime' ]
The name of the new user you intend to create.
The explicit user ID for the PostgreSQL user that you are creating; if left out of the CREATE USER command, the user ID will be automatically assigned.
The new PostgreSQL user's password; if the database is setup to require password authentication, this must be set for the user to be able to connect. Otherwise, a defined password is not meaningful to PostgreSQL.
The privilege to create new databases. Use CREATEDB, to give the user permission to create databases. Use NOCREATEDB to explicitly deny that permission (which is the default).
The superuser privilege. The use of CREATEUSER allows access to both the CREATE USER and DROP USER commands, as well as makes the user a superuser (with universal rights across all databases). NOCREATEUSER is the default.
The optional name of a group to which the user is to automatically be added.
The timestamp that defines when a user's password expires. When the date and time that abstime defines has been reached, the user's defined password becomes invalid. If unset, the password never expires.
Use CREATE USER to add new users to a PostgreSQL database. This command is only usable by database superusers. For more information about managing users and authentication, refer to Chapter 10.
Note: You may also use the createuser script to add users to a database from the operating system command line. Use of the script is essentially as using this command.
The following example demonstrates how to create a PostgreSQL user (david) in the accounting group that is valid until January 1, 2005 and has the specified password of jw8s0F4.
booktown=# CREATE USER david booktown-# WITH PASSWORD 'jw8s0F4' CREATEDB booktown-# IN GROUP accounting VALID UNTIL 'Jan 1 2005'; CREATE USER