pg_shadow
是一个 系统目录 视图,显示 pg_authid
中标记为 rolcanlogin
的所有角色的属性。
pg_shadow
是为了在 PostgreSQL 8.1 中实现向后兼容而创建的,当时旧的 pg_shadow
表被 pg_authid
替换。
用法
pg_shadow
显示用户的密码(pg_authid
的 rolpassword
字段的内容),因此只能由超级用户和被授予对其 SELECT
权限的用户访问。
视图 pg_user
默认可供所有用户访问,并将用户密码显示为固定长度的星号字符串。
按 PostgreSQL 版本定义
pg_shadow (PostgreSQL 19)
View "pg_catalog.pg_shadow" Column | Type | Collation | Nullable | Default --------------+--------------------------+-----------+----------+--------- usename | name | | | usesysid | oid | | | usecreatedb | boolean | | | usesuper | boolean | | | userepl | boolean | | | usebypassrls | boolean | | | passwd | text | C | | valuntil | timestamp with time zone | | | useconfig | text[] | C | |
文档:pg_shadow
pg_shadow (PostgreSQL 18)
View "pg_catalog.pg_shadow" Column | Type | Collation | Nullable | Default --------------+--------------------------+-----------+----------+--------- usename | name | | | usesysid | oid | | | usecreatedb | boolean | | | usesuper | boolean | | | userepl | boolean | | | usebypassrls | boolean | | | passwd | text | C | | valuntil | timestamp with time zone | | | useconfig | text[] | C | |
文档:pg_shadow
pg_shadow (PostgreSQL 17)
View "pg_catalog.pg_shadow" Column | Type | Collation | Nullable | Default --------------+--------------------------+-----------+----------+--------- usename | name | | | usesysid | oid | | | usecreatedb | boolean | | | usesuper | boolean | | | userepl | boolean | | | usebypassrls | boolean | | | passwd | text | C | | valuntil | timestamp with time zone | | | useconfig | text[] | C | |
文档:pg_shadow
pg_shadow (PostgreSQL 16)
View "pg_catalog.pg_shadow" Column | Type | Collation | Nullable | Default --------------+--------------------------+-----------+----------+--------- usename | name | | | usesysid | oid | | | usecreatedb | boolean | | | usesuper | boolean | | | userepl | boolean | | | usebypassrls | boolean | | | passwd | text | C | | valuntil | timestamp with time zone | | | useconfig | text[] | C | |
文档:pg_shadow
pg_shadow (PostgreSQL 15)
View "pg_catalog.pg_shadow" Column | Type | Collation | Nullable | Default --------------+--------------------------+-----------+----------+--------- usename | name | | | usesysid | oid | | | usecreatedb | boolean | | | usesuper | boolean | | | userepl | boolean | | | usebypassrls | boolean | | | passwd | text | C | | valuntil | timestamp with time zone | | | useconfig | text[] | C | |
文档:pg_shadow
pg_shadow (PostgreSQL 14)
View "pg_catalog.pg_shadow" Column | Type | Collation | Nullable | Default --------------+--------------------------+-----------+----------+--------- usename | name | | | usesysid | oid | | | usecreatedb | boolean | | | usesuper | boolean | | | userepl | boolean | | | usebypassrls | boolean | | | passwd | text | C | | valuntil | timestamp with time zone | | | useconfig | text[] | C | |
文档:pg_shadow
pg_shadow (PostgreSQL 13)
View "pg_catalog.pg_shadow" Column | Type | Collation | Nullable | Default --------------+--------------------------+-----------+----------+--------- usename | name | | | usesysid | oid | | | usecreatedb | boolean | | | usesuper | boolean | | | userepl | boolean | | | usebypassrls | boolean | | | passwd | text | C | | valuntil | timestamp with time zone | | | useconfig | text[] | C | |
文档:pg_shadow
pg_shadow (PostgreSQL 12)
View "pg_catalog.pg_shadow" Column | Type | Collation | Nullable | Default --------------+--------------------------+-----------+----------+--------- usename | name | | | usesysid | oid | | | usecreatedb | boolean | | | usesuper | boolean | | | userepl | boolean | | | usebypassrls | boolean | | | passwd | text | C | | valuntil | timestamp with time zone | | | useconfig | text[] | C | |
文档:pg_shadow
pg_shadow (PostgreSQL 11)
View "pg_catalog.pg_shadow" Column | Type | Collation | Nullable | Default --------------+---------+-----------+----------+--------- usename | name | | | usesysid | oid | | | usecreatedb | boolean | | | usesuper | boolean | | | userepl | boolean | | | usebypassrls | boolean | | | passwd | text | | | valuntil | abstime | | | useconfig | text[] | | |
文档:pg_shadow
pg_shadow (PostgreSQL 10)
View "pg_catalog.pg_shadow" Column | Type | Collation | Nullable | Default --------------+---------+-----------+----------+--------- usename | name | | | usesysid | oid | | | usecreatedb | boolean | | | usesuper | boolean | | | userepl | boolean | | | usebypassrls | boolean | | | passwd | text | | | valuntil | abstime | | | useconfig | text[] | | |
文档:pg_shadow
pg_shadow (PostgreSQL 9.6)
View "pg_catalog.pg_shadow" Column | Type | Modifiers --------------+---------+----------- usename | name | usesysid | oid | usecreatedb | boolean | usesuper | boolean | userepl | boolean | usebypassrls | boolean | passwd | text | valuntil | abstime | useconfig | text[] |
文档:pg_shadow
pg_shadow (PostgreSQL 9.5)
View "pg_catalog.pg_shadow" Column | Type | Modifiers --------------+---------+----------- usename | name | usesysid | oid | usecreatedb | boolean | usesuper | boolean | userepl | boolean | usebypassrls | boolean | passwd | text | valuntil | abstime | useconfig | text[] |
文档:pg_shadow
pg_shadow (PostgreSQL 9.4)
View "pg_catalog.pg_shadow" Column | Type | Modifiers -------------+---------+----------- usename | name | usesysid | oid | usecreatedb | boolean | usesuper | boolean | usecatupd | boolean | userepl | boolean | passwd | text | valuntil | abstime | useconfig | text[] |
文档:pg_shadow
pg_shadow (PostgreSQL 9.3)
View "pg_catalog.pg_shadow" Column | Type | Modifiers -------------+---------+----------- usename | name | usesysid | oid | usecreatedb | boolean | usesuper | boolean | usecatupd | boolean | userepl | boolean | passwd | text | valuntil | abstime | useconfig | text[] |
文档:pg_shadow
pg_shadow (PostgreSQL 9.2)
View "pg_catalog.pg_shadow" Column | Type | Modifiers -------------+---------+----------- usename | name | usesysid | oid | usecreatedb | boolean | usesuper | boolean | usecatupd | boolean | userepl | boolean | passwd | text | valuntil | abstime | useconfig | text[] |
文档:pg_shadow
pg_shadow (PostgreSQL 9.1)
View "pg_catalog.pg_shadow" Column | Type | Modifiers -------------+---------+----------- usename | name | usesysid | oid | usecreatedb | boolean | usesuper | boolean | usecatupd | boolean | userepl | boolean | passwd | text | valuntil | abstime | useconfig | text[] |
文档:pg_shadow
pg_shadow (PostgreSQL 9.0)
View "pg_catalog.pg_shadow" Column | Type | Modifiers -------------+---------+----------- usename | name | usesysid | oid | usecreatedb | boolean | usesuper | boolean | usecatupd | boolean | passwd | text | valuntil | abstime | useconfig | text[] |
文档:pg_shadow
pg_shadow (PostgreSQL 8.4)
View "pg_catalog.pg_shadow" Column | Type | Modifiers -------------+---------+----------- usename | name | usesysid | oid | usecreatedb | boolean | usesuper | boolean | usecatupd | boolean | passwd | text | valuntil | abstime | useconfig | text[] | View definition: SELECT pg_authid.rolname AS usename, pg_authid.oid AS usesysid, pg_authid.rolcreatedb AS usecreatedb, pg_authid.rolsuper AS usesuper, pg_authid.rolcatupdate AS usecatupd, pg_authid.rolpassword AS passwd, pg_authid.rolvaliduntil::abstime AS valuntil, pg_authid.rolconfig AS useconfig FROM pg_authid WHERE pg_authid.rolcanlogin;
文档:pg_shadow
pg_shadow (PostgreSQL 8.3)
View "pg_catalog.pg_shadow" Column | Type | Modifiers -------------+---------+----------- usename | name | usesysid | oid | usecreatedb | boolean | usesuper | boolean | usecatupd | boolean | passwd | text | valuntil | abstime | useconfig | text[] | View definition: SELECT pg_authid.rolname AS usename, pg_authid.oid AS usesysid, pg_authid.rolcreatedb AS usecreatedb, pg_authid.rolsuper AS usesuper, pg_authid.rolcatupdate AS usecatupd, pg_authid.rolpassword AS passwd, pg_authid.rolvaliduntil::abstime AS valuntil, pg_authid.rolconfig AS useconfig FROM pg_authid WHERE pg_authid.rolcanlogin;
文档:pg_shadow
pg_shadow (PostgreSQL 8.2)
View "pg_catalog.pg_shadow" Column | Type | Modifiers -------------+---------+----------- usename | name | usesysid | oid | usecreatedb | boolean | usesuper | boolean | usecatupd | boolean | passwd | text | valuntil | abstime | useconfig | text[] | View definition: SELECT pg_authid.rolname AS usename, pg_authid.oid AS usesysid, pg_authid.rolcreatedb AS usecreatedb, pg_authid.rolsuper AS usesuper, pg_authid.rolcatupdate AS usecatupd, pg_authid.rolpassword AS passwd, pg_authid.rolvaliduntil::abstime AS valuntil, pg_authid.rolconfig AS useconfig FROM pg_authid WHERE pg_authid.rolcanlogin;
文档:pg_shadow
变更历史
- PostgreSQL 9.5
- PostgreSQL 9.1
- 添加了列
userepl
(提交 9b8aff8c)
- 添加了列
- PostgreSQL 8.1
- 添加(提交 7762619e)
示例
新初始化集群上的 pg_shadow
内容示例
postgres=# SELECT * FROM pg_shadow\gx -[ RECORD 1 ]+--------- usename | postgres usesysid | 10 usecreatedb | t usesuper | t userepl | t usebypassrls | t passwd | valuntil | useconfig |
参考资料
- PostgreSQL 文档: pg_shadow