更新时间:2026-07-28 GMT+08:00
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;
父主题: 数据库安全