позволете ми да ви помогна за това:
-
1-во :защото
pg_catalog
е собственост на суперпотребител postgres , така че се уверете, че сте влезли в сървъра с това разрешение на role:pg_catalog schema -
2-ри :уверете се, че сте се свързали сдясно база данни, която трябва да ПРЕДОСТАВЯ/ОТМЕНЯ разрешения за. ПРЕДОСТАВЯНЕ/ОТМЕНЯВАНЕ засяга само текущият база данни, към която сте се свързали. Това означава, че след като влезете с акаунт на суперпотребител, издавайте:\c [db] за да се свържете с тази база данни, обвивката ще се промени на:[db]=>
-
3-то :таблици в
pg_catalog
по подразбиране, предоставени SELECT на PUBLIC:таблици в pg_catalog. Така че, трябва да стартирате REVOKE SELECT FROM PUBLIC и след това GRANT SELECT на подходящи потребители:ОТМЕНИ ИЗБОР НА ВСИЧКИ МАССИ В СХЕМА pg_catalog ОТ ПУБЛИЧНО;
ПРЕДОСТАВЯ ИЗБОР НА ТАБЛИЦА [таблица] НА [потребител];
За списъчни таблици в база данни:pg_class и pg_namespace .
И това е всичко :)