问题标签 [plpgsql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3829 浏览

postgresql - 如何在不知道其名称的情况下访问 postgresql 中记录类型的字段?

我正在用这个编写一个 PL/pgSQL 函数:

0 投票
1 回答
316 浏览

postgresql - 有没有办法知道 PL/PgSQL 中调用函数的名称?

当我从另一个此类函数调用 PL/PgSQL 函数(不是触发器)时,是否可以知道调用函数的名称或某种 ID?

0 投票
1 回答
1785 浏览

postgresql - 从 PostgreSQL 中的存储过程中获取返回值

我在 PostgreSQL 中有一个存储过程:

从 ado.net 我需要检索返回值。我尝试执行以下操作:

不幸的是,这不起作用告诉我该类型DBNull无法转换为Boolean.
有任何想法吗?

0 投票
2 回答
3177 浏览

ruby-on-rails - 在 Rails 应用程序日志中看到 Postgres 错误(plpgsql 已存在/函数 array_accum 已存在)

我经常在我的 Rails 开发日志中看到以下 postgres 错误/警告。它不会导致我的应用程序失败(我希望如此)。知道是什么原因造成的吗?我能做些什么来调试这个?

安装在我的电脑上:- Ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
- Rails 2.2.2
- PostgreSQL 8.3.7

0 投票
2 回答
5592 浏览

sql - 是否可以在 PostgreSQL 中创建具有变量名的表?

使用 PL/pgSQL 或(其他一些机制),是否可以创建具有变量名的表?

我想创建多个名为 table_1、table_2、table_3 等的表,如果我可以使用循环来创建它们,而不是显式地创建每个表,它会更简单。

我怀疑这个答案是否定的,但我想确认一下。

0 投票
2 回答
2308 浏览

postgresql - 如何查找加载到 EnterpriseDB 中的语言?

如何找到 EnterpriseDB(PL/pgsql、SPL、Java)中加载了哪些语言?如果有人知道在 PostgreSQL 上找到加载的语言的方法,EnterpriseDB 是建立在 PostgreSQL 之上的。它应该工作相同。

0 投票
6 回答
97153 浏览

sql - 从函数返回记录集(虚拟表)

我需要一个 Postgres 函数来返回一个包含自定义内容的虚拟表(如在 Oracle 中)。该表将有 3 列和未知数量的行。

我只是在互联网上找不到正确的语法。

想象一下:

这个怎么写正确?

0 投票
3 回答
5162 浏览

postgresql - 编写 PL/pgSQL 的更好方法?

是否有类似 IDE 的工具用于编写和调试 PL/pgSQL 函数,例如用于编写存储过程?

我发现使用 pgAdmin III 是一种令人沮丧的练习,因为错误消息通常非常神秘,而且事情有以神秘方式失败的习惯。

0 投票
9 回答
42737 浏览

postgresql - 如何在 PostgreSQL 中进行大型非阻塞更新?

我想对 PostgreSQL 中的表进行大量更新,但我不需要在整个操作中维护事务完整性,因为我知道我正在更改的列在期间不会被写入或读取更新。我想知道psql 控制台中是否有一种简单的方法可以使这些类型的操作更快。

例如,假设我有一个名为“orders”的表,有 3500 万行,我想这样做:

为了避免被转移到离题的讨论上,我们假设 3500 万列的所有状态值当前都设置为相同的(非空)值,从而使索引无用。

这条语句的问题是它需要很长时间才能生效(仅仅因为锁定),并且所有更改的行都被锁定,直到整个更新完成。此更新可能需要 5 个小时,而类似

可能需要 1 分钟。超过 3500 万行,执行上述操作并将其分成 35 个块只需要 35 分钟,并为我节省 4 小时 25 分钟。

我可以用脚本进一步分解它(在这里使用伪代码):

此操作可能只需几分钟而不是 35 分钟即可完成。

所以这归结为我真正要问的。我不想每次我想做一个像这样的大的一次性更新时都写一个可怕的脚本来分解操作。有没有办法完全在 SQL 中完成我想要的?

0 投票
10 回答
94199 浏览

sql - 如何通过 plpgsql 从 Postgres 获取表的主键?

给定表名,如何从 plpgsql 函数中提取主键列及其数据类型的列表?