标签归档:pgsql

给PGSQL添加只读用户

-- 1. 创建新用户readonly
CREATE ROLE readonly LOGIN PASSWORD 'passwd';

-- 2. 授予readonly用户对mydb1数据库的只读权限
-- 首先授予连接权限
GRANT CONNECT ON DATABASE mydb1 TO readonly;

-- 进入需要授权的数据库(PGADMIN等软件需要提前进入管理数据库)
\c mydb1

-- 然后为mydb1数据库中的所有表授予SELECT权限
-- 这里的假设是所有表都在public模式下,如果不是,需要指定正确的模式
GRANT USAGE ON SCHEMA public TO readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;

-- 如果需要包括未来创建的表,使用以下命令
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly;