更新时间: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;

相关文档