在AWS上创建了一个用户名为ziggy的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;发布于 2019-03-14 21:02:45
首先使用超级用户登录,并使用如下命令向新创建的用户提供所有rds超级用户访问权限
GRANT rds_superuser TO ziggy;将rds_superuser替换为您的rds超级用户。
发布于 2019-03-10 07:05:14
您还需要在架构上授予USAGE,例如
GRANT USAGE ON SCHEMA public TO ziggy;发布于 2019-03-19 00:21:40
需要超级用户访问权限才能运行访问级别查询。但是,正如您所说的,访问权限不存在,那么我建议您复制已从备份中恢复的数据库的副本,并授予自己超级用户身份。然后向任何用户提供所需的所有访问权限。
https://stackoverflow.com/questions/55080121
复制相似问题