"grant all on all tables" 只会将已有的对象进行赋权。对于未来新建的对象,不会赋权。
为了解决这个问题, Redshift 中有一个 "DEFAULT PRIVILEGES" 的概念。
可以让新建的对象自动赋权给某个Role或User
例句如下:
ALTER DEFAULT PRIVILEGES IN SCHEMA schemaXXX GRANT ALL ON TABLES to roleXXX;
上述例句中, roleXXX 将自动获得 schemaXXX 中的所有Table对象的所有权限。