我之前读过以下问题:Grant privileges on future tables in PostgreSQL? .

但是,如果我以 rbourgeon (这是超级用户)登录时运行以下查询:

ALTER DEFAULT PRIVILEGES GRANT ALL ON TABLES IN SCHEMA myschema TO username;

我注意到用户 username 将仅具有未来表 created by me 的权限,而不是所有未来表上的权限 .

official PostgreSQL documentation,就此问题而言:

ALTER DEFAULT PRIVILEGES允许您设置将应用于将来创建的对象的权限 . (它不会影响分配给已存在对象的权限 . )目前,只能更改表(包括视图),序列和函数的权限 . 您只能为将由您自己或您所属的角色创建的对象更改默认权限 . 可以全局设置权限(即,对于在当前数据库中创建的所有对象),或仅为在指定模式中创建的对象设置权限 . 每个模式指定的默认权限将添加到特定对象类型的全局默认权限 .

有解决方法吗?因为许多用户可能在此数据库中创建表 .