【问题标题】:PostgreSQL, ReadOnly User and PgAdminPostgreSQL、只读用户和 PgAdmin
【发布时间】:2021-01-05 11:23:16
【问题描述】:

有人可以帮忙解决下面的疑问吗?

我在 PostgreSQL 中有一个数据库,其中一些表是由管理员用户创建的。然后我创建了一个视图来连接一些信息。我更喜欢使用 PgAdmin 来处理 PostgreSQL,因为我不熟悉用于管理服务器的 SQL 语法......现在:

  • 如何创建一个只有在连接到数据库服务器时才能看到此视图的用户?

  • 如何在此视图中将此用户设置为只读?

非常感谢!!!

【问题讨论】:

标签: postgresql privileges pgadmin


【解决方案1】:

首先,您需要在public 架构上从每个人那里获得REVOKE USAGE 并将其授予其他用户:

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;

【讨论】:

    猜你喜欢
    • 2018-07-17
    • 2020-01-06
    • 2022-06-29
    • 2023-03-22
    • 2021-02-09
    • 1970-01-01
    • 2010-10-20
    相关资源
    最近更新 更多