PostgreSQL其实没有只读用户的语法,那么PostgreSQL提供了用户/角色属性来达到只读用户的效果,步骤如下:
1. 创建一个用户名为,密码为<your_own_password>的用户
CREATE USER <readonlyuser> WITH ENCRYPTED PASSWORD '<your_own_password>';
2. 修改用户只读事务属性
ALTER USER <readonlyuser> SET default_transaction_read_only=on;
3. 设置USAGE权限给到
GRANT USAGE ON SCHEMA <schemename> to <readonlyuser>;
4. 在对应的数据库中,授予权限,如select。
GRANT SELECT ON ALL TABLES IN SCHEMA <schemename> TO <readonlyuser>;
注意:如果模式名称以数字为前缀,那么需要加入双引号。如:"360data"
浙公网安备 33010602011771号