【发布时间】:2022-01-18 15:26:29
【问题描述】:
用于架构的 SQL
CREATE SCHEMA my_schema AUTHORIZATION as_admin;
GRANT USAGE ON SCHEMA my_schema TO as_user;
GRANT ALL ON SCHEMA my_schema TO as_admin;
GRANT USAGE ON SCHEMA my_schema TO as_admin_read;
ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema GRANT DELETE, UPDATE, SELECT, INSERT ON TABLES TO as_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema GRANT ALL ON TABLES TO as_admin;
ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema GRANT SELECT ON TABLES TO as_admin_read;
ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema GRANT ALL ON SEQUENCES TO as_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema GRANT ALL ON SEQUENCES TO as_admin;
ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema GRANT USAGE ON SEQUENCES TO as_admin_read;
ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema GRANT EXECUTE ON FUNCTIONS TO as_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema GRANT EXECUTE ON FUNCTIONS TO as_admin;
ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema GRANT EXECUTE ON FUNCTIONS TO as_admin_read;
ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema GRANT USAGE ON TYPES TO as_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA my_schema GRANT USAGE ON TYPES TO as_admin;
当我由具有组角色 as_admin 的用户创建表时,权限不会被继承
set role as_admin;
CREATE TABLE my_schema.test() WITH (OIDS = FALSE) TABLESPACE pg_default;
ALTER TABLE my_schema.test OWNER to as_admin;
创建后的SQL表
-- Table: my_schema.test
-- DROP TABLE my_schema.test;
CREATE TABLE my_schema.test() WITH (OIDS = FALSE) TABLESPACE pg_default;
ALTER TABLE my_schema.test OWNER to as_admin;
为什么会这样?特权在哪里?
【问题讨论】:
标签: postgresql privileges postgresql-11