查看PG数据库的权限情况

简介: 查看PG数据库的权限情况
  1. 用户权限

对 实例的登录或者对db 的ddl 权限方面 是放在 pg_role 表中的.

pconline=> select * from pg_roles ;
-[ RECORD 1 ]--+---------------------------------
rolname        | repl
rolsuper       | f
rolinherit     | t
rolcreaterole  | f
rolcreatedb    | f
rolcatupdate   | f
rolcanlogin    | t
rolreplication | t
rolconnlimit   | -1
rolpassword    | ********
rolvaliduntil  | 
rolconfig      | 
oid            | 16384

针对 TABLE , COLUMN , 函数, 自定义函数, 以及usage 权限, 是存在information_schema下的表中的.

information_schema 存储了当前db 下面的对象的权限. 例如: 
select * from information_schema.role_table_grants  where grantee='lsliang';
-[ RECORD 2 ]--+-----------------------------------------
grantor        | pc
grantee        | lsliang
table_catalog  | pc
table_schema   | pc
table_name     | temp_20160513
privilege_type | SELECT
is_grantable   | NO
with_hierarchy | YES
  1. 对象上的权限

如果要查看某个表上 有哪些权限.

可以用命令行命令:

pconline=> \dp temp_20160513 
Access privileges
-[ RECORD 1 ]------------+-----------------------------
Schema                   | pc
Name                     | temp_20160513
Type                     | table
Access privileges        | pc=arwdDxt/pc
                         | pc_reader=r/pc
                         | pgreader_pc=r/pc
                         | u1=r/pc
                         | u2=r/pc
                         | user3=r/pc
Column access privileges |

其中的权限字段 arwdDxt

a = insert
r = select
w= update
d = delete
D = truncate
x = reference
t = trigger

还有一个是查询PG_CLASS 系统视图:

pconline=> select * from pg_class where relname='temp_20160513'; 
-[ RECORD 1 ]--+----------------------------------------------------------------------------------------------------------------------------------------------------
relname        | temp_20160513
relnamespace   | 24585
reltype        | 5471707
reloftype      | 0
relowner       | 24577
relam          | 0
relfilenode    | 5491139
reltablespace  | 0
relpages       | 285
reltuples      | 64310
relallvisible  | 285
reltoastrelid  | 0
reltoastidxid  | 0
relhasindex    | f
relisshared    | f
relpersistence | p
relkind        | r
relnatts       | 1
relchecks      | 0
relhasoids     | f
relhaspkey     | f
relhasrules    | f
relhastriggers | f
relhassubclass | f
relfrozenxid   | 1102384891
relacl         | {pc=arwdDxt/pc,pc_reader=r/pc,pgreader_pc=r/pc,u1=r/pc,u2=r/pc,user3=r/pc}
目录
相关文章
|
3月前
|
关系型数据库 数据库连接 数据库
Python执行PG数据库查询语句:以Markdown格式打印查询结果
使用Python的`psycopg2`和`pandas`库与PostgreSQL交互,执行查询并以Markdown格式打印结果。首先确保安装所需库:`pip install psycopg2 pandas`。接着建立数据库连接,执行查询,将查询结果转换为DataFrame,再用`tabulate`库将DataFrame格式化为Markdown。代码示例包括连接函数、查询函数、转换和打印函数。最后限制列宽以适应输出。
|
2月前
|
Oracle 安全 关系型数据库
|
22天前
|
SQL 安全 数据库
"数据库守卫战:揭秘SQL Server中角色与权限的神秘面纱,一键打造坚不可摧的安全堡垒!"
【8月更文挑战第21天】数据库安全性对企业至关重要。SQL Server提供强大机制保障数据安全,包括用户角色管理和权限授权。本文以杂文形式介绍如何创建服务器角色和数据库角色,并通过SQL语句进行权限分配。从创建角色到添加用户、授权和撤销权限,再到最佳实践,帮助读者掌握SQL Server中的角色和权限管理,确保数据安全与完整性。
27 0
|
29天前
|
SQL 数据库
拒绝了对对象 ‘GetTips‘ (数据库 ‘vipsoft‘,架构 ‘dbo‘)的 EXECUTE 权限
拒绝了对对象 ‘GetTips‘ (数据库 ‘vipsoft‘,架构 ‘dbo‘)的 EXECUTE 权限
26 0
|
2月前
|
关系型数据库 Java 数据库
实时计算 Flink版操作报错合集之flinksql采PG数据库时报错,该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
2月前
|
数据可视化 安全 API
数据库开放权限风险高,API非唯一选择:DataV为您开启安全高效的数据可视化之旅
良好的用户体验:DataV注重用户体验设计,提供了丰富的交互效果和动画效果,使得数据可视化大屏更加生动、吸引人。这有助于提升用户的参与度和满意度,促进数据的广泛应用
|
3月前
|
运维 数据管理 数据库
数据管理DMS产品使用合集之遇到报错:数据库账号没有权限执行,该如何排查
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
32 2
|
3月前
|
SQL 关系型数据库 MySQL
【权限提升】六种数据库提权&口令获取
【权限提升】六种数据库提权&口令获取
|
3月前
|
NoSQL 关系型数据库 Serverless
Serverless 应用引擎产品使用合集之连接RDS、Redis等数据库时,是否需要通过安全组来控制访问权限
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
3月前
|
关系型数据库 MySQL Linux
Linux下mysql添加用户并授权数据库权限
Linux下mysql添加用户并授权数据库权限
200 0