Я учусь Postgres
. Теперь я проверяю такие вещи, как права пользователя. После создания роли Business
я добавил в таблицу employee
следующее GRANT
:
GRANT SELECT ("fname", "minit", "lname", "bdate", "address", "dno") on employee TO business;
Это таблица:
fname | minit | lname | ssn | bdate | address | sex | salary | super_ssn | dno
----------+-------+---------+-----------+------------+-------------------------+-----+----------+-----------+-----
James | E | Borg | 888665555 | 1937-11-10 | 450 Stone, Houston TX | M | 55000.00 | | 1
John | B | Smith | 123456789 | 1965-01-09 | 731 Fondren, Houston TX | M | 30000.00 | 333445555 | 5
Franklin | T | Wong | 333445555 | 1955-12-08 | 638 Voss, Houston TX | M | 40000.00 | 888665555 | 5
Alicia | J | Zelaya | 999887777 | 1968-01-19 | 3321 Castle, Spring TX | F | 25000.00 | 987654321 | 4
Jennifer | S | Wallace | 987654321 | 1941-06-20 | 291 Berry, Bellaire TX | F | 43000.00 | 888665555 | 4
Ramesh | K | Narayan | 666884444 | 1962-09-15 | 975 Fire Oak, Humble TX | M | 38000.00 | 333445555 | 5
Joyce | A | English | 453453453 | 1972-07-31 | 5631 Rice, Houston TX | F | 25000.00 | 333445555 | 5
Ahmad | V | Jabbar | 987987987 | 1969-03-29 | 980 Dallas, Houston TX | M | 25000.00 | 987654321 | 4
I Я нашел несколько потоков здесь на StackOverflow с некоторыми примерами, но они не достигают того, что я ищу.
Когда я использую
SELECT user, string_agg(privilege_type, ', ') AS privileges
FROM information_schema.role_table_grants
WHERE table_name='employee'
GROUP BY user;
, я получаю следующее:
user | privileges
-------+---------------------------------------------------------------
Admin | INSERT, SELECT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER
Новая роль с именем Business
не отображается. Он работает с \z employee
, но этот тип просмотра не тот, который я ищу, я хочу запрос.
Я что-то пропустил?