0

根据我在此处的“示例”部分中阅读的内容,我认为下面的代码应该允许我更改我的表,以便所有当前和未来的表都可以读/写。

$sql = "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO PUBLIC;";
$sth = $pdo->prepare($sql);
$sth->execute(); // <-- LINE 14
$sql1 = "ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALTER ON TABLES TO PUBLIC;";
$sth1 = $pdo->prepare($sql1);
$sth1->execute();

但我收到了这个错误:

致命错误:未捕获的异常 'PDOException' 带有消息 'SQLSTATE[42601]:语法错误:7 错误:在“DEFAULT”第 1 行或附近出现语法错误:ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TA...^' in 。 ...在第 14 行

我哪里出错了?

4

1 回答 1

3

您很可能在太旧的 PostgreSQL 上运行查询。9.0 中添加了 ALTER DEFAULT PRIVILEGES。

于 2013-06-25T20:14:02.010 回答