postgresql创建一个只读用户
1 min read

postgresql创建一个只读用户

  1. 创建用户
CREATE USER user_name WITH ENCRYPTED PASSWORD 'password';
  1. 设置只读事务
alter user user_name set default_transaction_read_only=on;
  1. 赋予指定数据库权限
GRANT CONNECT ON DATABASE db_name to user_name;
  1. 进入指定数据库
    --在工具中进入数据库或命令行下:
\c db_name
  1. 把当前库现有的所有在public这个schema下的表的使用权限赋给用户
GRANT USAGE ON SCHEMA public to user_name;
  1. 默认把当前库之后新建在public这个schema下的表的使用权限赋给用户
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO user_name;
  1. 赋予用户public下的序列的查看权
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO user_name;
  1. 赋予用户public下的表的select权
GRANT SELECT ON ALL TABLES IN SCHEMA public TO user_name;
京ICP备19055754号