> How to vacuum full pg_shdepend automatically so that other users can
> work at same time ?
Your table is horribly bloated.
You must use VACUUM FULL + REINDEX (as superuser) on it, however
unfortunately, it is blocking.
Therefore, you should wait for sunday night to do this, when noone will
notice.
Meanwhile, you can always VACUUM it (as superuser) and REINDEX it.
And while you're at it, VACUUM FULL + reindex the entire database.
To avoid such annoyances in the future, you should ensure that autovacuum
runs properly ; you should investigate this. If you use a cron'ed VACUUM
that does not run as superuser, then it will not be able to VACUUM the
system catalogs, and the problem will come back.