Era*_*iel 3 postgresql datatypes permissions postgresql-9.1
在 Postgresql 中,当我尝试ALTER TYPE x ADD VALUE y;在自定义数据类型上运行时,我收到一条错误消息,指出PG::Error: ERROR: must be owner of type x.
我知道这可以通过运行来解决,ALTER TYPE x OWNER TO <database owner>但我很好奇的是如何检查此特定数据类型的当前所有者。\dT+ x没有给我关于当前所有者的信息。
如何提取有关自定义数据类型的更多信息,包括当前所有者?
您可以去询问系统目录(pg_type准确地说是 ):
SELECT rolname
FROM pg_type t
JOIN pg_authid r ON typowner = r.oid
WHERE typname = 'bla';
usename
?????????
dezso
Run Code Online (Sandbox Code Playgroud)
从这个版本开始,有一个名为的新对象标识符类型regrole,它使查询更简单一些:
SELECT typowner::regrole
FROM pg_type t
WHERE typname = 'bla';
Run Code Online (Sandbox Code Playgroud)
但还有更多 - 新的 9.5 版本psql在使用时已经显示所有者\dT+:
Schema | Name | Internal name | Size | Elements | Owner | ...
-------------------+------+---------------+------+----------+----------+ ...
zel_api_r14_00_09 | bla | bla | 4 | a | postgres | ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3009 次 |
| 最近记录: |