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
EXPERTO
preguntada hace 8 meses64 visualizaciones
1 Respuesta
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
EXPERTO
respondido hace 8 meses

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas