createuser - Create a new Postgres user
SYNOPSIS
createuser [ options... ] [ username ]
INPUTS
-h, --host host
Specifies the hostname of the machine on which the
postmaster is running. If host begins with a slash,
it is used as the directory for the unix domain
socket.
-p, --port port
Specifies the Internet TCP/IP port or local Unix
domain socket file extension on which the postmas
ter is listening for connections.
-e, --echo
Echo the queries that createdb generates and sends
to the backend.
-q, --quiet
Do not display a response.
-d, --createdb
Allows the new user to create databases.
-D, --no-createdb
Forbids the new user to create databases.
-a, --adduser
Allows the new user to create other users.
-A, --no-adduser
Forbids the new user to create other users.
-P, --pwprompt
If given, createuser will issue a prompt for the
password of the new user. This is not necessary if
you do not plan on using password authentication.
-i, --sysid uid
Allows you to pick a non-default user id for the
new user. This is not necessary, but some people
like it.
username
Specifies the name of the Postgres user to be cre
ated. This name must be unique among all Postgres
users.
You will be prompted for a name and other missing informa
tion if it is not specified on the command line.
psql(1). The psql options -U and -W are available as well,
but their use can be confusing in this context.
OUTPUTS
CREATE USER
All is well.
createuser: creation of user "username" failed
Something went wrong. The user was not created.
If there is an error condition, the backend error message
will be displayed. See CREATE USER [create_user(l)] and
psql(1) for possibilities.
DESCRIPTION
createuser creates a new Postgres user. Only users with
usesuper set in the pg_shadow table can create new Post
gres users.
createuser is a shell script wrapper around the SQL com
mand CREATE USER [create_user(l)] via the Postgres inter
active terminal psql(1). Thus, there is nothing special
about creating users via this or other methods. This means
that the psql must be found by the script and that a
database server is running at the targeted host. Also, any
default settings and environment variables available to
psql and the libpq front-end library do apply.
USAGE
To create a user joe on the default database server:
$ createuser joe
Is the new user allowed to create databases? (y/n) n
Shall the new user be allowed to create more new users? (y/n) n
CREATE USER
To create the same user joe using the postmaster on host
eden, port 5000, avoiding the prompts and taking a look at
the underlying query:
$ createuser -p 5000 -h eden -D -A -e joe
CREATE USER "joe" NOCREATEDB NOCREATEUSER
CREATE USER
Man(1) output converted with
man2html