Я пытаюсь создать в первый раз базу данных Postgres, так что это, наверное, глупый вопрос. Я назначил базовые разрешения только для чтения роли db, которые должны обращаться к базе данных из моих php-скриптов, и у меня есть любопытство: если я выполняю
GRANT some_or_all_privileges ON ALL TABLES IN SCHEMA schema TO role;
есть ли необходимость выполнить также
GRANT USAGE ON SCHEMA schema TO role;
?
Из документации:
ИСПОЛЬЗОВАНИЕ: для схем позволяет доступ к объектам, содержащимся в указанной схемы (при условии, что собственная привилегия объектов требования также соблюдаются). По сути, это позволяет получателю "искать" объекты внутри схемы.
Я думаю, что если я могу выбрать или манипулировать любыми данными, содержащимися в схеме, я могу получить доступ к любым объектам самой схемы. Я ошибаюсь? Если нет, для чего используется GRANT USAGE ON SCHEMA
? И что означает документация в точности с "предполагая, что требования к привилегиям объектов также выполняются"?