Postgresql允许向角色和用户添加注释。例如,我使用此SQL命令为角色“myuser”添加了注释:
COMMENT ON ROLE myuser IS 'User comment...';
我的问题是:如果我想使用SQL命令让所有用户及其各自的评论 - 我将如何做到这一点?什么是适当的查询?
你需要使用内置函数shobj_description(object_oid, catalog_name)
SELECT *, shobj_description(oid, 'pg_authid') AS comment
FROM pg_roles;
SELECT u.usesysid, u.usename, d.description
FROM pg_catalog.pg_user u
LEFT JOIN pg_catalog.pg_shdescription d
ON d.objoid = u.usesysid
AND classoid = 'pg_catalog.pg_authid'::regclass;