PostgreSQL创建只读用户和對用戶權限的刪除

版权声明: https://blog.csdn.net/qq_32157851/article/details/88973270

创建用户及指定密码:

CREATE USER readonly WITH ENCRYPTED PASSWORD 'ropass';

设置用户默认事务只读:

alter user readonly set default_transaction_read_only=on;

赋予用户权限,查看public模式下所有表:

GRANT USAGE ON SCHEMA public to readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly;

赋予用户连接数据库权限:

GRANT CONNECT ON DATABASE foo to readonly;

切换到指定数据库:

\c foo

赋予用户表、序列查看权限:

GRANT USAGE ON SCHEMA public to readonly;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly;

刪除用戶,當刪除用戶的時候報ERROR: role "data" cannot be dropped because some objects depend on it

此時需要先把用戶含有的權限刪掉纔可以
 

revoke all on database crm_prod_myl from test;
revoke select on all tables in schema public from test;   
revoke usage on SCHEMA public from zabbix1;

​

然後刪除用戶

drop user   zabbix1;

猜你喜欢

转载自blog.csdn.net/qq_32157851/article/details/88973270