RDS Postgres 版本迁移 10.6 -> 11.1后出现错误:“42501 ERROR: permission denied for schema public”

0

【以下的问题经过翻译处理】 当我们将 RDS PostgreSQL实例版本从10.6迁移到11.1后, 出现一个问题: 包括master在内的所有 Postgres role都无法访问public schema中的对象。

select * from public.spatial_ref_sys;

出现错误 42501 ERROR: permission denied for schema public

以 master 身份执行以下查询,显示创建和使用权限为 false:

WITH "names"("name") AS (

  SELECT n.nspname AS "name"

    FROM pg_catalog.pg_namespace n

      WHERE n.nspname = 'public'

) SELECT "name",

  pg_catalog.has_schema_privilege(current_user, "name", 'CREATE') AS "create",

  pg_catalog.has_schema_privilege(current_user, "name", 'USAGE') AS "usage"

    FROM "names";

测试以下语句

GRANT ALL ON DATABASE dwh TO master;

可以执行,无报错. 但是执行以下语句

GRANT ALL ON SCHEMA public TO master;

会报Permission Denied错误.

如何解决这个问题?

profile picture
专家
已提问 7 个月前60 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,

请尝试使用具有rds_superuser权限Role运行以下命令

ALTER SCHEMA public OWNER to master;

希望能解决你的问题

Thanks! John H

Edited by: awsatjohnh on Apr 12, 2019 6:15 PM

profile picture
专家
已回答 7 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则