
# GaussDB如何创建只读用户？
答：在业务场景中，数据库管理员可以通过SCHEMA来划分不同业务。例如需要创建一个只读用户user1，允许这个用户访问sc_test模式下所有的表（包括以后创建的新表），但是不允许插入、修改和删除数据。具体过程如下：
```
--前置操作：创建用户和模式sc_test。
gaussdb=# CREATE ROLE u1 WITH SYSADMIN PASSWORD '********';
gaussdb=# CREATE SCHEMA sc_test;
gaussdb=# ALTER SCHEMA sc_test OWNER TO u1;
--创建用户user1。
gaussdb=# CREATE ROLE user1 WITH LOGIN PASSWORD '********';
--赋予用户user1对模式sc_test的访问权限。
gaussdb=# GRANT USAGE ON SCHEMA sc_test TO user1;
--赋予用户user1对模式sc_test下所有表的SELECT权限。
gaussdb=# GRANT SELECT ON ALL TABLES IN SCHEMA sc_test TO user1;
--赋予用户user1对模式sc_test下未创建的表的SELECT的权限。
gaussdb=# ALTER DEFAULT PRIVILEGES FOR USER u1 GRANT SELECT ON TABLES TO user1;
--删除。
gaussdb=# ALTER DEFAULT PRIVILEGES FOR USER u1 REVOKE SELECT ON TABLES FROM user1;
gaussdb=# DROP SCHEMA sc_test;
gaussdb=# DROP ROLE user1;
gaussdb=# DROP ROLE u1;
```
