查看PostgreSQL 表结构及权限列表

阅读: 评论:0

查看PostgreSQL 表结构及权限列表

查看PostgreSQL 表结构及权限列表

本文我们解释如何查看PostgreSQL 表结构以及权限列表,即哪些用户对表拥有哪些权限。

查看表结构

使用命令查看

d+ table_name;

示例:

test=# d+ books数据表 "public.books"栏位  |  类型   | Collation | Nullable |              Default              |   存储   | 统计目标 | 描述
--------+---------+-----------+----------+-----------------------------------+----------+----------+------id     | integer |           | not null | nextval('books_id_seq'::regclass) | plain    |          |client | text    |           | not null |                                   | extended |          |data   | jsonb   |           | not null |                                   | extended |          |
索引:"books_pkey" PRIMARY KEY, btree (id)

使用SQL查看

首先通过PostgreSQL的元数据查看,另外也可以直接查看数据表。

  1. 通过元数据 lumns

示例:

SELECT *
FROM lumns
where table_name ='books'
table_catalogtable_schematable_namecolumn_nameordinal_positioncolumn_defaultis_nullabledata_typecharacter_maximum_lengthcharacter_octet_lengthnumeric_precisionnumeric_precision_radixnumeric_scaledatetime_precisioninterval_typeinterval_precisioncharacter_set_catalogcharacter_set_schemacharacter_set_namecollation_catalogcollation_schemacollation_namedomain_catalogdomain_schemadomain_nameudt_catalogudt_schemaudt_namescope_catalogscope_schemascope_namemaximum_cardinalitydtd_identifieris_self_referencingis_identityidentity_generationidentity_startidentity_incrementidentity_maximumidentity_minimumidentity_cycleis_generatedgeneration_expressionis_updatable
testpublicbooksid1nextval(‘books_id_seq’::regclass)NOinteger3220testpg_catalogint41NONONONEVERYES
testpublicbooksclient2NOtext1073741824testpg_catalogtext2NONONONEVERYES
testpublicbooksdata3NOjsonbtestpg_catalogjsonb3NONONONEVERYES
  1. 直接查表,传输条件为false
test=# select * from books where 1=2;id | client | data
----+--------+------
(0 行记录)

上面介绍了几种方法查看表结构,下面我们查看哪些用户拥有表的权限列表。

查看表权限

使用命令查看

使用 z 命令,后面跟上需要查看的表名称:

test=# z books存取权限架构模式 | 名称  |  类型  |         存取权限          | 列特权 | 策略
----------+-------+--------+---------------------------+--------+------public   | books | 数据表 | postgres=arwdDxt/postgres+|        ||       |        | alice=rw/postgres         |        |
(1 行记录)

列出两个用户的权限情况。

使用SQL查看

我们通过元数据视图 le_table_grants查看,同时使用 string_agg 函数对用户进行分组:

SELECT grantee, string_agg( privilege_type,', ' ) as privilege_type
FROM le_table_grants 
WHERE table_name='books'
group by grantee

返回结果:

granteeprivilege_type
aliceSELECT, UPDATE
postgresUPDATE, DELETE, INSERT, REFERENCES, TRIGGER, TRUNCATE, SELECT

列存两个用户不同的权限列表。

总结

本文介绍使用命令方式和SQL方式查看PostgreSQL表结构和权限。

本文发布于:2024-02-02 10:29:37,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170684097843205.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:权限   结构   列表   PostgreSQL
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23