有人可以告诉我在PostgreSQL9.5中显示用户的视图pg_users、users和\du+命令之间的区别。
select *
from users显示不在pg_user视图中的用户
发布于 2017-08-21 17:49:52
"users“不是目录表-它是你的。要检查在psql中使用元命令时发生的情况,请使用-E开关,例如:
~]$ psql t -E
Timing is on.
psql (9.5.4)
Type "help" for help.
t=# \du+
********* 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
, r.rolbypassrls
FROM pg_catalog.pg_roles r
ORDER BY 1;
**************************
List of roles
Role name | Attributes | Member of | Description
------------------+------------------------------------------------------------+-------------+---------------------------------------------------------------------------------------------
vao | | {} |如果深入研究,您会发现至少在9.5中,来自pg_authid的pg_user和pg_roles查询都是如此
https://stackoverflow.com/questions/45794033
复制相似问题