权限不足,无法操作架构 'PUBLIC'

Insufficient privileges to operate on schema 'PUBLIC'

我创建了一个用户 ANALYST_USER 并授予了角色 ANALYST。

当我尝试在 TEST_DB 中创建 table 时,我收到以下错误消息: 无法创建 table 测试。 SQL 访问控制错误:权限不足,无法操作架构 'PUBLIC'

这是我在尝试使用 ANALYST_USER 帐户创建 table 之前写的声明。

USE ROLE SECURITYADMIN;

-- Create Role-- CREATE ROLE ANALYST

-- Database-- GRANT USAGE ON DATABASE TEST_DB TO ROLE ANALYST;

-- Schema-- GRANT USAGE, MONITOR ON ALL SCHEMAS IN DATABASE TEST_DB TO ROLE ANALYST; GRANT USAGE, MONITOR ON FUTURE SCHEMAS IN DATABASE TEST_DB TO ROLE ANALYST;

-- Warehouse-- GRANT USAGE ON WAREHOUSE TEST_WH TO ROLE ANALYST; GRANT USAGE ON WAREHOUSE TEST_WH TO ROLE ANALYST;

-- Tables/Views-- GRANT SELECT ON ALL TABLES IN DATABASE TEST_DB TO ROLE ANALYST; GRANT SELECT ON FUTURE TABLES IN DATABASE TEST_DB TO ROLE ANALYST;

-- User -- GRANT ROLE ANALYST to USER ANALYST_USER;

有谁知道如何解决这个问题?

以下语句解决了这个问题。 将数据库 TEST_DB 中所有模式的所有权限授予角色分析员; 将数据库中的所有未来模式 TEST_DB 授予角色分析员;

我知道这会授予“ALL”权限,所以如果我们只想授予“create table”权限,那么我们需要改用以下语句:

授予在 DATABASE TEST_DB 模式上创建 table 角色 ANALYST;