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
エキスパート
質問済み 8ヶ月前64ビュー
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
エキスパート
回答済み 8ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ