gpt4 book ai didi

postgresql - 如何从PostgreSQL数据库中获取角色的评论

转载 作者:行者123 更新时间:2023-11-29 11:52:40 27 4
gpt4 key购买 nike

给定角色名称someone,如何获取用子句定义的评论:

COMMENT ON ROLE someone IS 'THIS IS A ROLE COMMENT';

?

最佳答案

查找如何检索此类信息的一个好方法是查看psql 的帮助并找到将显示此信息的命令。

在本例中,它是 dg+ 命令。

一旦您知道该命令,您就可以启用 psql 工具的内部 SQL 查询的打印,以了解它如何检索该信息。这是通过使用 -E 参数启动 psql 来完成的。

如果你这样做,你会看到:

psql (9.4.5)
Type "help" for help.

postgres=# \dg+
********* QUERY **********
SELECT r.rolname, r.rolsuper, r.rolinherit,
r.rolcreaterole, r.rolcreatedb, r.rolcanlogin,
r.rolconnlimit, r.rolvaliduntil,
ARRAY(SELECT b.rolname
FROM pg_catalog.pg_auth_members m
JOIN pg_catalog.pg_roles b ON (m.roleid = b.oid)
WHERE m.member = r.oid) as memberof
, pg_catalog.shobj_description(r.oid, 'pg_authid') AS description
, r.rolreplication
FROM pg_catalog.pg_roles r
ORDER BY 1;
**************************

List of roles
Role name | Attributes | Member of | Description
---------------+-----------------------------------+-----------+-----------------------
someone | | {} | THIS IS A ROLE COMMENT

如果您只是想让一些 方法查看评论,那么您的问题并不清楚,那么dg+ 可能就足够了。否则,您可以根据需要调整 psql 使用的 SQL 查询,例如:

SELECT pg_catalog.shobj_description(r.oid, 'pg_authid') AS description
FROM pg_catalog.pg_roles r
where r.rolname = 'someone';

注意:\du 和\dg 在psql 中是同一个命令。两者都得到维护for historic reasons .

关于postgresql - 如何从PostgreSQL数据库中获取角色的评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33480553/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com