In this recipe, you will learn how to turn a user into an all-powerful superuser and back to an ordinary user.
A PostgreSQL superuser is a user that can do anything in the database regardless of what privileges it has been granted.
A user becomes a superuser when it is created with the SUPERUSER
attribute set:
CREATE USER username SUPERUSER;
A user can be deprived of its superuser status by removing the SUPERUSER
attribute, using this command:
ALTER USER username NOSUPERUSER;
A user can be restored to superuser status later, using the following command:
ALTER USER username SUPERUSER;
When neither SUPERUSER
nor NOSUPERUSER
is given in the CREATE USER
command, then the default is to create a user who is not a superuser.
Rights to some operations in PostgreSQL cannot be granted. They must be performed by a special user who has this special attribute set. The preceding commands set or reset this attribute for the user.