-- 完整授权脚本
\c your_database_name;
-- 1. 授予数据库连接权限
GRANT CONNECT ON DATABASE your_database_name TO your_role_name;
-- 2. 授予模式权限
GRANT ALL ON SCHEMA public TO your_role_name;
GRANT USAGE ON SCHEMA public TO your_role_name;
GRANT CREATE ON SCHEMA public TO your_role_name;
-- 3. 授予现有表的所有权限
GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER
ON ALL TABLES IN SCHEMA public TO your_role_name;
-- 4. 授予未来表的所有权限
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER ON TABLES TO your_role_name;
-- 5. 授予现有序列的所有权限
GRANT USAGE, SELECT, UPDATE ON ALL SEQUENCES IN SCHEMA public TO your_role_name;
-- 6. 授予未来序列的所有权限
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT, UPDATE ON SEQUENCES TO your_role_name;
-- 7. 授予现有函数的所有权限
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO your_role_name;
-- 8. 授予未来函数的所有权限
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT EXECUTE ON FUNCTIONS TO your_role_name;
-- 9. 授予创建对象的权限(重要!)
GRANT CREATE ON DATABASE your_database_name TO your_role_name;
评论 (0)