gpt4 book ai didi

postgresql - 如何检索 PostgreSQL 数据库的评论?

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

我最近发现你可以 attach a comment到 PostgreSQL 中的各种对象。特别是,我对玩弄数据库的评论很感兴趣。例如,要设置数据库的注释:

COMMENT ON DATABASE mydatabase IS 'DB Comment';

但是,相反的语句是什么,得到mydatabase的评论?

psql 命令行中,我可以看到注释以及 \l+ 命令的结果;我可以在 awk 的帮助下使用它来实现我的目标。但如果可能的话,我宁愿使用 SQL 语句。

最佳答案

首先,可以使用强制转换为适当的 object identifier type 来简化您对表注释的查询。 :

SELECT description
FROM pg_description
WHERE objoid = 'myschema.mytbl'::regclass;

模式部分是可选的。如果省略它,则当前的 search_path 决定任何名为 mytbl 的表的可见性.

更好的是,在 PostgreSQL 中有专用函数来简化和标准化这些查询。 The manual :

obj_description(object_oid, catalog_name) ... get comment for a database object

shobj_description(object_oid, catalog_name) ... get comment for a shared database object

表格说明:

SELECT obj_description('myschema.mytbl'::regclass, 'pg_class');

数据库说明:

SELECT pg_catalog.shobj_description(d.oid, 'pg_database') AS "Description"
FROM pg_catalog.pg_database d
WHERE datname = 'mydb';

你是怎么知道的?

嗯,阅读优秀的手册很有启发性。 :)
但在这种情况下有一条更直接的路线:most psql元命令是用纯 SQL 实现的。使用 psql <b>-E</b> 开始 session , 看看窗帘后面的魔法。 The manual:

-E
--echo-hidden

Echo the actual queries generated by \d and other backslash commands. You can use this to study psql's internal operations. This is equivalent to setting the variable ECHO_HIDDEN to on.

关于postgresql - 如何检索 PostgreSQL 数据库的评论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11493978/

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