Sometimes you need to temporarily revoke 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 the following:
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 to log in. It does not kick out already connected users.