Amazon RDS-Postgresql角色无法访问表

时间:2019-03-09 17:34:45

标签: postgresql amazon-web-services roles

使用用户名ziggy在AWS上创建了一个postgresql实例。我将数据库还原到该实例。但是我什至不能选择任何表格

select * FROM mac_childcare_parcels

给我ERROR: permission denied for relation mac_childcare_parcels ********** Error **********

该表的所有者属于postgres登录名。

所以我尝试运行以下命令:grant all privileges on all tables in schema public to ziggy,但是由于我不是超级用户,因此我无法赋予自己特权,因此会引发权限错误。我必须怎么做才能访问表?

这也不起作用

grant select on mac_childcare_parcels to ziggy

此查询返回成功,但不允许登录Ziggy访问表

GRANT USAGE ON SCHEMA public TO ziggy;

3 个答案:

答案 0 :(得分:2)

需要超级用户访问权限才能运行访问级别查询。但是正如您所说的那样,不存在访问权限,那么我会说复制您已从备份还原的数据库副本,并授予自己超级用户权限。 然后向所有用户提供所有需要的访问权限。

答案 1 :(得分:1)

首先使用超级用户登录,并使用以下命令为新创建的用户提供所有rds超级用户访问权限

GRANT rds_superuser TO ziggy;

用您的rds超级用户替换 rds_superuser

答案 2 :(得分:0)

您还需要在SCHEMA上授予使用权,例如

GRANT USAGE ON SCHEMA public TO ziggy;