sql - 尝试使用 psql 在 Postgres 中获取函数的来源时,错误“列 p.proisagg 不存在”是什么意思?
问题描述
背景:在RDS上使用postgres 11,界面是Centos 7上的psql;目标是显示某些存储过程/函数的来源,以便我可以使用它们
问题描述:当我尝试\df+
使用基于 [official docs here](https://www.postgresql.org/docs/current /app-psql.html],报错如下图:
psql=> \df+ schema_foo.proc_bar;
ERROR: column p.proisagg does not exist
LINE 6: WHEN p.proisagg THEN 'agg'
我不知道如何解释这一点;有问题的函数不包含错误中显示的逻辑片段,也不包含那里引用的列p.proisagg
。我已经通过在 vim 中打开函数来验证这一点\ef
。
我的猜测基于几个不相关的 github 问题,这些问题提到了同样的错误,例如,它引用了 postgres 内部的一些模式代码。
总结:简而言之,我可以使用 来查看函数的来源\ef
,所以从实际的角度来看,我的工作并没有受到影响,但是我想了解这个错误以及我遇到它的原因\df+
。
解决方案
我遇到了同样的问题并运行了这两个命令来修复它
sed -i "s/NOT pp.proisagg/pp.prokind='f'/g" /usr/share/phpPgAdmin/classes/database/Postgres.php
sed -i "s/NOT p.proisagg/p.prokind='f'/g" /usr/share/phpPgAdmin/classes/database/Postgres.php
推荐阅读
- rust - 我是否需要使用 `let` 绑定来创建更长寿的价值?
- python - 对象tkinter中每个按钮的不同命令?
- user-interface - 在 Roblox 中动态创建的 GUI
- javascript - 使用 JavaScript 和 jQuery 验证必填字段。验证失败时,屏幕返回正常状态
- javascript - 在传递给 RxJS 订阅的回调中使用来自 useState 钩子的 React setState 会导致异常
- unity3d - Unity3D Google admob:用户奖励两次(或更多)hack
- google-analytics - 为什么添加日期维度时 Google Analytics 用户数会发生变化?
- overriding - Acumatica - 如何自定义重新计算价格公式?
- asp.net-core-webapi - 有没有办法在每个 HTTP 请求的 JSON 响应中重置 $id?JsonSerializerSettings = PreserveReferencesHandling.Objects
- json - 事件驱动系统中的 Json 解析