PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да предоставим всички привилегии за изгледи на произволен потребител

Причината е, че имате нужда от допълнителни привилегии за достъп до изглед или таблица. Привилегиите на базата данни не покриват достъпа до всички обекти в нея.

Различно е с функциите:EXECUTE привилегията се предоставя на public по подразбиране. Но функцията се изпълнява с привилегиите на текущия потребител. Може да се интересувате от SECURITY DEFINER модификатор за CREATE FUNCTION . Но обикновено е достатъчно да предоставите SELECT на включени маси.

Според документация относно привилегиите по подразбиране:

В зависимост от типа обект, първоначалните привилегии по подразбиране могат да включват предоставяне на някои привилегии на PUBLIC . По подразбиране няма публичен достъп за таблици, колони, схеми и пространства за таблици; CONNECT привилегия и TEMP привилегия за създаване на таблица за бази данни; EXECUTE привилегия за функции; и USAGE привилегия за езици.

Може да се интересувате от тази DDL команда (изисква Postgres 9.0 или по-късно):

GRANT SELECT ON ALL TABLES IN SCHEMA public TO myuser;

Докато сте свързани с въпросната база данни, разбира се (вижте коментара на @marcel по-долу) и като потребител с достатъчно привилегии. Може също да се интересувате от настройката DEFAULT PRIVILEGES :

  • Предоставете всички по конкретна схема в db на групова роля в PostgreSQL

По-подробен отговор как да управлявате привилегиите:

  • Как да управлявам ПРАВИЛЕГИИТЕ ПО ПОДРАЗБИРАНЕ за ПОТРЕБИТЕЛИ в БАЗА ДАННИ спрямо СХЕМА?

pgAdmin има функция за по-сложни групови операции:

Или можете да направите заявка към системните каталози, за да създадете DDL изявления за групово предоставяне/отмяна...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какъв тип клеймо за дата да избера в PostgreSQL база данни?

  2. чертата `diesel::Expression` не е внедрена за `bigdecimal::BigDecimal`

  3. ORDER BY ... USING клауза в PostgreSQL

  4. разгънете postgresql масива в редове

  5. Преглед на генерираните колони за PostgreSQL