如何解决PostgreSQL,只读用户和PgAdmin
有人可以帮助解决以下疑问吗?
我在PostgreSQL中有一个数据库,其中一些表是由管理员用户创建的。然后,我创建了一个视图以连接一些信息。我更喜欢使用PgAdmin与PostgreSQL一起使用,因为我不熟悉用于管理服务器的SQL语法...现在:
-
如何创建仅在连接到数据库服务器后才能看到此视图的用户?
-
如何在此视图中将该用户设置为只读用户?
非常感谢您!
解决方法
首先,您需要在所有人的REVOKE USAGE
模式上public
并将其授予其他用户:
REVOKE USAGE,CREATE ON SCHEMA public FROM PUBLIC;
GRANT USAGE,CREATE ON SCHEMA public TO ddl_user;
GRANT USAGE ON SCHEMA public TO write_user;
现在在新的架构中创建视图,并允许新用户仅访问该架构和视图:
CREATE SCHEMA viewschema;
CREATE ROLE only_view LOGIN;
GRANT USAGE ON SCHEMA viewschema TO only_view;
ALTER ROLE only_view SET search_path = viewschema;
CREATE VIEW viewschema.myview AS SELECT ...;
GRANT SELECT ON viewschema.myview TO only_view;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。