PostgreSQL-语法错误

PostgreSQL-语法错误

以下说法有何错误?

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;

我在 Ubuntu 上使用 postgreSQL 8.3。

答案1

您的语法是正确的,但仅适用于 PostgreSQL 9.0 及更高版本。
在 8.3 中,您必须按名称列出所有表:

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

答案2

据我所知,这在 postgresql DB 中是无效的。您应该通过指定它们来授予所有表的权限。这个词ALL在这里是无效的。

相关内容