19
我正在运行PostgreSQL 9.3.1。我有用于备份数据库的test
数据库和backup
用户。我对授予所有当前表的权限没有任何问题,但每次将新表添加到模式时都必须授予权限。授予PostgreSQL未来表格的特权?
createdb test
psql test
test=# create table foo();
CREATE TABLE
test=# grant all on all tables in schema public to backup;
GRANT
test=# create table bar();
CREATE TABLE
psql -U backup test
test=> select * from foo;
test=> select * from bar;
ERROR: permission denied for relation bar
是否有可能授予对将来创建的表的访问权限,而无需让表的用户拥有者?
相关文章:http://www.postgresql.org/docs/9.0/static/sql-alterdefaultprivileges.html – aaaaaa
作为警告,默认只适用于执行alter语句的用户。 这让我感到困惑,因为我从postgres用户驱动大部分权限声明,但是却从应用程序用户创建表。 总之,根据您的设置,您可能需要这样的东西: '更改用户默认权限webapp IN SCHEMA public GRANT SELECT ON SEQUENCES TO备份; 更改用户默认权限webapp IN SCHEMA公共授予选择表格备份;' –
这让我很难理解如何记录alter default权限的限制。我是否正确,如果备份不是拥有该表的角色的成员,则此答案实际上不起作用?当我的备份用户不是拥有者或超级用户,并且没有其他权限时,我尝试“在要备份的表上修改架构公共授权SELECT中的默认权限”时,它不适用于我。 – danny