3

Что не так со следующим утверждением?

GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO foo;

Я получаю эту ошибку

ERROR:  syntax error at or near "ALL"
LINE 2: ON ALL TABLES IN SCHEMA public TO foo;

Я использую PostgreSQL 8.3 на Ubuntu.

2 ответа2

6

Ваш синтаксис правильный, но только для PostgreSQL 9.0 и новее.
В 8.3 вам нужно будет перечислить все таблицы по имени:

GRANT SELECT, INSERT, UPDATE, DELETE ON tab1, tab2, tab3 TO foo;
1

AFAIK, это недопустимо в postgresql DB. Вы должны предоставить привилегии для всех таблиц, указав их. Слово ALL здесь недопустимо.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .