小编tho*_*jah的帖子

获取视图中使用的函数列表

假设我有一个这样的函数:

create function house_analysis(ingeo geometry)
  returns table(count_all numeric, count_important numeric) as
$$
  select count(*), count(*) filter (where h.import_flag)
  from house_table h where st_intersects(ingeo, h.geom)
$$ language sql stable;
Run Code Online (Sandbox Code Playgroud)

我定义了一个这样的视图:

create or replace view postzone_analysis as (
  select p.zipcode, ha.count_all, ha.count_important
  from postzone_table p, house_analysis(p.geom) ha
);
Run Code Online (Sandbox Code Playgroud)

问题是:

如何pg_catalog.*使用我的视图(postzone_analysis或其视图)查询系统目录 ( ) 以oid获取其中使用的函数的列表?他们的pg_proc.oid价值观很好。

我知道数据库会跟踪,因为我无法删除该函数,但在pg_depend.

数据库是 PostgreSQL 9.5。

(现实生活中的情况要复杂得多 - 它被缩小为最低可行的例子。视图调用就像 6 个分析函数,它结合了来自不同来源的数据,并且有多个基于不同区域类的视图。 )

postgresql view functions dependencies

5
推荐指数
1
解决办法
1336
查看次数

如何使用(END)控制psql显示行?

在我的计算机从 Mac Sierra 升级到 High Sierra 后,我的 psql 开始表现出令人讨厌的行为。有时当它列出行时,它会打印 (END) 而不是提示,我必须按任何按钮才能停止退出显示并获得提示。并非每次查询都会发生这种情况,但很难预测它何时发生。有时它会在 2 行之后放置一个 (END),而不是在 15 行之后。

什么控制了 psql 的这些方面,我该如何控制和关闭它?很烦人的是,我为我运行的每个查询都按下了一个键,或者它吞下了第一个字符并让我写了“elect * from”。

附加输入

当行的显示比终端窗口宽时,它似乎会触发 - 即它流过多行。我使用 Mac 的普通内置终端应用程序。

postgresql psql mac-os-x

1
推荐指数
1
解决办法
2235
查看次数

标签 统计

postgresql ×2

dependencies ×1

functions ×1

mac-os-x ×1

psql ×1

view ×1