--1 创建用户
CREATE USER reado WITH ENCRYPTED PASSWORD 'zwj123sk';
--2 开启只读事务
alter user reado set default_transaction_read_only=on;
-- 3 授予特定模式的使用权限
GRANT USAGE ON SCHEMA public TO reado;
-- 查看模式的使用权限
SELECT schema_name, has_schema_privilege('reado', schema_name, 'USAGE') AS has_usage_privilege
FROM information_schema.schemata;
--4 授予指定模式下所有表的查看权限
GRANT SELECT ON ALL TABLES IN SCHEMA public TO reado;
-- 查看espc模式下的所有表
select table_name from information_schema.tables WHERE table_schema = 'public';
-- 这个操作很重要,不然切换用户会报权限不足
-- 需要切到目标数据库执行,在哪个库执行则在哪里执行
GRANT USAGE ON SCHEMA public TO reado;
grant connect on database tiger to public;
grant select on all tables in schema public to reado;
pg_hba.conf
# 在服务器本机上直接不设置密码
local all all trust
# 主机直连所有数据库用户post不需要密码
host all post 0/0 trust
# 主机直连所有数据库用户postgres需要密码
host all postgres 0/0 md5
# 使用potgres一定要使用正确密码,post则不需要密码
# 修改配置需要重启数据库服务