如果我只能引用一个由多个表组成的视图,那么如何获取列的默认值?相反,它甚至可行吗?
暂时忽略权限。如何直接从表中获取列的默认值here,但这是不够的,因为如果我在视图中查询列的默认值,它将合理地返回/ null。
答案 0 :(得分:0)
首先,您需要找出列来自哪个表。您可以查询系统目录:
SELECT definition
FROM pg_views
WHERE viewname = 'my_view'
AND schemaname = 'public';
或者使用
获取 psql 中的视图定义\d+ my_view
或者只需在 pgAdmin 中的对象浏览器中查找 然后你可以使用你已经找到的技术从那里开始:
或者,要获得实际的值,而不仅仅是计算它的表达式: