इस प्रकार की जानकारी प्राप्त करने का तरीका खोजने का एक अच्छा तरीका psql
. के लिए सहायता की जांच करना है और वह आदेश ढूंढें जो इस जानकारी को प्रदर्शित करेगा।
इस मामले में, यह dg+
है आज्ञा।
एक बार जब आप कमांड को जान लेते हैं, तो आप psql
. की आंतरिक SQL क्वेरीज़ को प्रिंट करने में सक्षम कर सकते हैं यह पता लगाने के लिए उपकरण कि यह उस जानकारी को कैसे पुनः प्राप्त करता है। यह psql
. शुरू करके किया जाता है -E
. का उपयोग करना पैरामीटर।
अगर आप ऐसा करते हैं, तो आप देखेंगे:
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+
शायद पर्याप्त है। अन्यथा आप उस SQL क्वेरी को समायोजित कर सकते हैं जिसका उपयोग psql
. द्वारा किया जाता है आपकी आवश्यकताओं के लिए, जैसे:
SELECT pg_catalog.shobj_description(r.oid, 'pg_authid') AS description
FROM pg_catalog.pg_roles r
where r.rolname = 'someone';
नोट:\du और \dg psql में एक ही कमांड हैं। दोनों का रखरखाव ऐतिहासिक कारणों से किया जाता है .