pg_permissions
查看对象权限并将其与期望状态进行比较
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_permissions | 1.4.1 | ADMIN | BSD-2-Clause | SQL |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 5140 | pg_permissions | 否 | 是 | 否 | 是 | 否 | 否 | - |
Latest PGDG RPM/catalog version is 1.4.1; PGDG DEB remains on 1.4.
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PGDG | 1.4.1 | 1817161514 | pg_permissions | - |
| RPM | PGDG | 1.4.1 | 1817161514 | pg_permissions_$v | - |
| DEB | PGDG | 1.4 | 1817161514 | postgresql-$v-pg-permissions | - |
安装
您可以直接安装 pg_permissions 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:
BASH
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
BASH
pig
BASH
dnf
BASH
apt
BASH
创建扩展:
SQL
用法
pg_permissions 让你查看数据库对象的实际权限,并与期望的权限状态进行比较。
定义期望权限
向 permission_target 插入条目以描述应有的权限:
SQL
将 object_name 或 column_name 设置为 NULL 可应用于模式中该类型的所有对象。
查找权限差异
SQL
返回 missing = TRUE(权限应存在但不存在)或 missing = FALSE(不应存在的多余权限)的行。
查看实际权限
可用视图(所有视图具有相同的列结构):
database_permissions– 当前数据库的权限schema_permissions– 模式的权限table_permissions– 表的权限view_permissions– 视图的权限column_permissions– 表/视图列的权限function_permissions– 函数的权限sequence_permissions– 序列的权限all_permissions– 以上所有的 UNION
SQL
通过视图 Grant/Revoke
权限视图的 granted 列是可更新的——更新它会执行相应的 GRANT 或 REVOKE 命令。
注意:超级用户不显示在视图中(他们自动拥有所有权限)。