GRANT
GRANT
Предоставление прав доступа пользователю, группе или всем пользователям базы данных.
Синтаксис
GRANT привилегия [, ...] ON объект [. ...]
ТО { PUBLIC | GROUP группа \ пользователь }
Параметры
- привилегия. Предоставляемая привилегия. Допустимые значения:
- SELECT — пользователю или группе разрешается выборка из всех полей заданной таблицы или представления;
- INSERT — пользователю или группе разрешается вставка данных во все поля полей заданной таблицы;
- UPDATE — пользователю или группе разрешается обновление всех полей заданной таблицы;
- DELETE — пользователю или группе разрешается удаление данных из всех полей заданной таблицы;
- RULE — пользователю или группе разрешается удаление правил из заданной таблицы;
- ALL — сокращенная запись для предоставления всех перечисленных привилегий пользователю или группе.
объект. Имя объекта, для которого предоставляются привилегии. Допустимыми типами объектов являются таблицы, представления и последовательности.
PUBLIC. Необязательное ключевое слово PUBLIC означает, что привилегия предоставляется всем пользователям базы данных.
группа. Имя группы, которой предоставляются привилегии.
пользователь. Имя пользователя PostgreSQL, которому предоставляются привилегии. Ключевое слово PUBLIC обозначает всех пользователей.
Результаты
- CHANGE. Сообщение возвращается в том случае, если предоставление привилегий пользователю или группе прошло успешно.
- ERROR: ChangeAcl: class "объект" not found. Ошибка — указанный объект не найден в текущей базе данных.
- ERROR: aclparse: non-existent user "пользователь". Ошибка — пользователь с указанным именем не существует.
- ERROR: non-existent group "группа". Ошибка — группа не существует.
Описание
Команда GRANT предоставляет пользователям и группам права доступа к объектам. Права могут предоставляться конкретному пользователю или группе, а ключевое слово PUBLIC предоставляет их всем пользователям базы данных. По умолчанию доступ к объекту разрешен только его владельцу. После того как объект создан, владелец предоставляет права доступа к нему другим пользователям.
Чтобы предоставить частичный доступ к данным, содержащимся в таблице, создайте представление для нужного подмножества полей и/или записей и предоставьте пользователям доступ к этому представлению.
В клиенте psql информация о правах доступа к существующим объектам выводится командой \z.
Содержание раздела