RedShift 中只能有一个数据库,是在创建 RedShift 的时候创建的;SCHEMA 是 RedShift 中的模式,可以将 SCHEMA 理解为 MySQL 中的 DATABASES,授权也是针对 SCHEMA 去授权的。
注意: RedShift 中创建的用户默认是有超级管理员的权限的,生产环境中,一定要控制权限,将授权精确到 SCHEMA 甚至 TABLES 。
/*
创建用户
user_name:用户名
password:密码
*/
create user user_name password 'password';/*
查看用户
user_name:用户名
*/
select * from pg_user_info;/*
删除用户
user_name:用户名*/
DROP USER user_name;/*
创建 SCHEMA
schema_user:模式名*/
CREATE SCHEMA schema_user;/*
授权用户对 SCHEMA 的所有权限
schema_user:模式名
user_name:用户名
*/
GRANT ALL PRIVILEGES ON SCHEMA schema_user TO user_name;/*
查看所有模式 SCHEMA
schema_name:此处schema_name为字段名,无需修改
*/
SELECT schema_name
FROM information_schema.schemata;/*
授权用户对某个 SCHEMA 的只读权限
schema_user:模式名
user_name:用户名
*/
GRANT USAGE ON SCHEMA schema_name TO user_name;
GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO user_name;
更多命令,详见 AWS 官方文档