destroyuser

Name

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 postmaster is listening for
connections. The port number defaults to 5432, or the value
of the PGPORT environment variable
(if set).

username

Specifies the name of the Postgres user to be removed. This name
must exist in the Postgres
installation. You will be prompted for a name if none is
specified on the command line.

Outputs

destroyuser will remove an
entry in the pg_user or pg_shadow system table, and will remove all
databases for which that user is the administrator
(DBA).

destroyuser could not
attach to the postmaster
process 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.

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.

destroyuser: username
cannot delete users.

You do not have permission to delete users; contact your
Postgres site
administrator.

destroyuser: 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 backend server. Ensure
that your site administrator has properly installed
Postgresand initialized
the site with initdb.

destroydb on dbname
failed - exiting

An internal error occurred in psql or in the backend server. There
was possibly a Unix permissions problem with the specified
database.

delete of user username
was UNSUCCESSFUL

An internal error occurred in psql or in the backend server.

Note:destroyuser
internally runs DROP USER from psql while connected to the template1 database.

Description

destroyuser removes an
existing Postgres user and the
databases for which that user is database administrator. Only
users with usesuper set in the
pg_shadow class can destroy Postgres users. As shipped, the user
postgres can remove users.

destroyuser is a shell script
that invokes psql. Hence, a
postmaster process must be
running on the database server host before destroyuser is executed. The PGOPTION and PGREALM
environment variables will be passed on to psql and processed as described in psql.

Once invoked, destroyuser
will warn you about the databases that will be destroyed in the
process and permit you to abort the removal of the user if
desired.