Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Как сделать видимой для пользователя только 1 представлению?  [new]
ncux199rus
Member

Откуда:
Сообщений: 88
Создал роль
CREATE ROLE nis LOGIN
  NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT read_only TO nis;

Создал групповую роль:
CREATE ROLE read_only
  NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

Создал представление:
+

CREATE OR REPLACE VIEW public.view_channel_nis WITH (security_barrier=false) AS 
 SELECT *
   FROM channels
  ORDER BY channels.id DESC
 LIMIT 10;

ALTER TABLE public.view_stchannel_nis
  OWNER TO "PLC";
GRANT ALL ON TABLE public.view_channel_nis TO public;
GRANT ALL ON TABLE public.view_channel_nis TO "PLC";
GRANT SELECT ON TABLE public.view_channel_nis TO read_only;


В pg_hba.conf добавил ограничение подключение к базу PLC1 для пользователя нис.

При подключении через pgadmin: я не вижу другие базы кроме PLC1, в PLC1 могу просмотреть данные только в view_channel_nis остальные не показывает все хорошо.
Но виден список всех таблиц и представлений PLC1.
Как сделать чтоб при подключении к базе я видел только 1 представление?
19 сен 17, 12:24    [20805650]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать видимой для пользователя только 1 представлению?  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 3361
ncux199rus
При подключении через pgadmin: я не вижу другие базы кроме PLC1, в PLC1 могу просмотреть данные только в view_channel_nis остальные не показывает все хорошо.
Но виден список всех таблиц и представлений PLC1.
Как сделать чтоб при подключении к базе я видел только 1 представление?


Никак. Все кто могут подключится к базе - могут посмотреть ее структуру и структуру всех ее обьектов/функций и тд.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
19 сен 17, 13:15    [20805861]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить