【问题标题】:PostgreSQL default privileges for typesPostgreSQL 类型的默认权限
【发布时间】:2018-03-21 06:21:32
【问题描述】:

documentation for GRANT 说:

PostgreSQL 将某些类型对象的默认权限授予 PUBLIC。默认情况下,PUBLIC 不会对表、列、模式或表空间授予任何权限。对于其他类型,授予 PUBLIC 的默认权限如下: 数据库的 CONNECT 和 CREATE TEMP TABLE;函数的 EXECUTE 特权;和语言的 USAGE 特权。

没有提到类型获得默认权限,所以为什么我会看到以下内容:

> CREATE TYPE bug_status AS ENUM ('new', 'open', 'closed');
> REVOKE USAGE ON TYPE bug_status FROM postgres;
> \dT+ bug_status
                                        List of data types
 Schema |    Name    | Internal name | Size | Elements | Owner    | Access privileges | Description
--------+------------+---------------+------+----------+----------+-------------------+-------------
 public | bug_status | bug_status    | 4    | new     +| postgres | =U/postgres       |
        |            |               |      | open    +|          |                   |
        |            |               |      | closed   |          |                   |

我已撤销所有者的 USAGE,但 PUBLIC 拥有特权。

我错过了记录的地方吗?

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    你是对的;看起来PUBLIC 默认被授予USAGE 权限。

    这是一个文档错误,I'll do something about it

    编辑:该错误已通过this PostgreSQL 提交修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-26
      • 2019-06-02
      • 2019-11-27
      • 2012-02-24
      • 2012-04-08
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多