Sometimes, you need to temporarily revoke a user's connection rights without actually deleting the user or changing the user's password. This recipe presents ways to do this.
To modify other users, you must either be a superuser or have the
CREATEROLE privilege (in the latter case, only non-superuser roles can be altered).
To temporarily prevent the user from logging in, run this command:
pguser=# alter user bob nologin; ALTER ROLE
To let the user connect again, run the following:
pguser=# alter user bob login; ALTER ROLE
This sets a flag in the system catalog, telling PostgreSQL not to let the user log in. It does not kick out already connected users.