问题标签 [postgresql-11]

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 回答
12767 浏览

postgresql - 如何从 PostgreSQL 存储过程返回结果集?

PostgreSQL 从版本 11 开始支持存储过程(不是函数)。我创建了一个这样的存储过程:

但是当我试图执行这个存储过程时,它不会返回任何数据:

所以问题是,存储过程如何在 PostgreSQL 11+ 中返回其结果集?

0 投票
2 回答
2307 浏览

postgresql - PostgreSQL 11 - 程序

带有最新更新的 PostgreSQL 支持程序。官方博客引用了“与函数相反,过程不需要返回值”。https://blog.2ndquadrant.com/postgresql-11-server-side-procedures-part-1/

所以我的问题是,实际上有什么方法可以让我在程序中返回错误代码或响应?(Postgres 中的程序相当新,因此在线资源很少。)

这是我返回这些“错误代码”的意思的示例

上面的脚本是一个Oracle程序,你可以看到返回的结果是否为“1”,这意味着更新不成功。

有什么方法可以将上述脚本(带有错误代码)编写为 PostgresSQL 过程?也许使用“INOUT”参数的例子会很棒!

0 投票
0 回答
3129 浏览

postgresql - Postgres 11 - 提交程序

随着Postres 11的最新更新。它现在支持存储过程。Postgres 的存储过程最终支持事务。但是,我一直试图在没有运气的过程中执行提交。

UPDATED 已编辑,以便更新和提交位于没有任何异常的块内。

这以前用于执行该过程。我能够获取 refcursor 的结果。添加提交后不再起作用。:

但是当我执行时:

..它运行良好并且行得到了更新,但是这种运行方式不允许我获取我的refcursor的结果。

使用 COMMIT 执行程序时,有什么方法可以得到我的 refcursor 的结果。任何帮助是极大的赞赏。谢谢

0 投票
0 回答
357 浏览

postgresql - PostgreSQL 11 中外部表的并行追加

是否可以在 PostgreSQL 11 中的外部表上实现并行追加(就像在本地表上一样)?

本地表:

国外表:

是否有任何参数可以提示 postgres 在外部表上使用并行追加?

0 投票
1 回答
1065 浏览

c# - Postgres 拒绝了 Dapper 列表参数

我有一个List<Guid>(也尝试过使用普通数组),我想在查询中使用它。Dapper 生成 SQL 并将参数替换为正确的编号参数。但是,PG 抱怨 list 参数的语法。没有给出进一步的细节。复制生成的 SQL 并用实际值替换数字(将括号添加到列表参数),查询工作。

这是生成的 SQL 中的违规子句:

Dapper 的原始语句字符串是这样的:

查询是con.Query这样执行的:

确切的 Postgres 错误是:

0 投票
1 回答
381 浏览

postgresql - 需要在 PostgreSQL 中的外部表上并行追加

我们开发了一个基于 postgres_fdw 的 fdw,它在保持数据压缩的大存储库(大数据)中实现搜索。我们正在尝试使用 postgres 分区表的概念,以便我们可以同时在多个分区上并行搜索。对于外部数据包装器,我们需要“并行追加”。

有人知道这是否会在 Postgres 11 中得到解决?

如果我的查询导致在本地分区搜索,postgres 使用并行性,但如果它导致外部扫描,则不会。

本地分区:

国外分区:

PostgreSQL 11 中外部表的并行追加

0 投票
2 回答
127 浏览

sql - 行创建的时间戳在表中是唯一的吗?

我知道时间戳是时刻的一个实例。

但是来到我的桌子,我的桌子没有主键。

所以我需要一个独特的交易列。

我应该将行创建的时间戳列具有唯一的表列。

表定义

我应该将 created_time 作为表中的唯一列吗?

现在,如果我更改表的体系结构,它将影响数百万条记录。

0 投票
1 回答
172 浏览

sql - 使用计数和索引优化查询

我有一个包含超过 200,000,000 个元组的表,我经常必须运行以下查询并在网页中显示结果,这需要很长时间:

我已经创建了一个索引,但查询不使用它:

查询计划在这里:

并且,在set enable_seqscan = OFF;这之后是解释的结果:

0 投票
2 回答
29910 浏览

postgresql - 我无法启动服务器 PostgreSQL 11:“pg_ctl:无法启动服务器”

我在 CentOS Linux 版本 7.5.1804 (Core)

当我登录postgres并运行时:

然后我跑

我在 GOOGLE 中搜索“等待服务器启动..../bin/sh: logfile: Permission denied”但是这个错误只发生在 MAC 中并且没有显示解决方案...

我也跑

然后我相信 PostgreSQL 11 安装得很好,但我无法启动服务器。

我用这条线安装:

我没有添加 [postgresql11-llvmjit.x86_64] 因为这需要很多依赖。

CentOS Linux 版本 7.5.1804 + PostgreSQL 11 ?

我需要安装其他软件吗?

0 投票
1 回答
42 浏览

sql - 如何在 Postgres 中实现并行

我正在开发基于租户密钥和其他查询条件更新批处理日志的功能。

在我的功能中,我使用连接并逐个循环记录记录,按顺序更新批处理日志。

我的代码如下

我的功能正常工作,但我需要通过添加并行性来增强我的功能。

我不想遍历所有记录,而是想同时并行更新所有记录。

我研究了 google 和 PostgreSQL 文章,但没有找到相关的概念。