Sua sintaxe está correta, mas apenas para o PostgreSQL 9.0 e mais recente.
Em 8.3 você terá que listar todas as tabelas pelo nome:
GRANT SELECT, INSERT, UPDATE, DELETE ON tab1, tab2, tab3 TO foo;
O que há de errado com a seguinte declaração?
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO foo;
Eu recebo este erro
ERROR: syntax error at or near "ALL"
LINE 2: ON ALL TABLES IN SCHEMA public TO foo;
Estou usando o postgreSQL 8.3 no Ubuntu.
AFAIK, isso é inválido no banco de dados postgresql. Você deve conceder os privilégios em todas as tabelas, especificando-os. A palavra ALL
é inválida aqui.
Tags postgresql