Computer Science
CREATEUSER(1) CREATEUSER(1)
NAME
createuser - Create a new Postgres user
SYNOPSIS
createuser [ username ]
createuser [ -h host ] [ -p port ]
[ -i userid ] [ -d | -D ] [ -u | -U ]
[ username ]
INPUTS
-h host
Specifies the hostname of the machine on which the
postmaster is running. Defaults to using a local
Unix domain socket rather than an IP connection.
-p port
Specifies the Internet TCP/IP port or local Unix
domain socket file extension on which the postmas-
ter is listening for connections. The port number
defaults to 5432, or the value of the PGPORT envi-
ronment variable (if set).
-d Allows the user to create databases.
-D Forbids the user to create databases.
-i userid
Specifies the numeric identifier to be associated
with this user. This identifier must be unique
among all Postgres users, and is not required to
match the operating system UID. You will be
prompted for an identifier if none is specified on
the command line, and it will suggest an identifier
matching the UID.
-u Allows the user to create other users.
-U Forbids the user to create other users.
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 if none is
specified on the command line.
OUTPUTS
createuser will add an entry in the pg_user or pg_shadow
system table.
Connection to database 'template1' failed.
createuser could not attach to the postmaster pro-
cess on the specified host and port. If you see
this message, ensure that the postmaster is running
on the proper host and that you have specified the
proper port. If your site uses an authentication
system, ensure that you have obtained the required
authentication credentials.
Connection to database 'template1' failed.
You do not have a valid entry in the relation
pg_shadow and and will not be allowed to access
Postgres. Contact your Postgres administrator.
createuser: username cannot create users.
You do not have permission to create new users;
contact your Postgres site administrator.
createuser: user "username" already exists
The user to be added already has an entry in the
pg_shadow class.
database access failed
An internal error occurred in psql or in the back-
end server. Ensure that your site administrator has
properly installed Postgresand initialized the site
with initdb.
Note: createuser internally runs CREATE USER from
psql while connected to the template1 database.
DESCRIPTION
createuser creates a new Postgres user. Only users with
usesuper set in the pg_shadow class can create new Post-
gres users. As shipped, the user postgres can create
users.
createuser is a shell script that invokes psql. Hence, a
postmaster process must be running on the database server
host before createuser is executed. The PGOPTION and
PGREALM environment variables will be passed on to psql
and processed as described in psql(1).
Once invoked, createuser will ask a series of questions to
obtain parameters not specified on the command line. The
new user's database login name and a numeric user identi-
fier must be specified.
Note: The Postgres user identifier does not need to
be the same as the user's Unix UID. However, typi-
cally they are assigned to be the same.
You must also describe the privileges of the new user for
security purposes. Specifically, you will be asked
whether the new user should be able to act as Postgres
super-user, whether the new user may create new databases
and whether the new user is allowed to create other new
users.
Application 15 August 1999 1
Back to the index