问题标签 [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 回答
545 浏览

postgresql - ("") 在 EDBPOSTGRESQL 中调用过程

我这里有一个情况,我们正在从 Oracle 迁移到 EDB POSTGRES ADVANCED SERVER(ORACLE COMPATIBLE)。我将分享一个示例程序(在我们的组织程序中到处都使用相同的方法)。

此过程编译成功。但是当我调用程序时

结果就像

在此之后我要做的是

这次我得到了想要的输出。有什么方法可以通过调用如下的过程来获取记录

0 投票
1 回答
59 浏览

python - 有效计算列表中每个多边形的中心

对于我的关于有限元分析的输入数据的小型数据挖掘项目,我已将 SQL 查询的结果导出到元素角的长 python 列表(三角形等)。这是一些示例数据:

其中列表中每个元组中的第一个值是id元素的,第二个值是角的坐标。为了进一步处理,我需要每个 的中心element,最好是在一个 numpy 数组中,以及数据。

由于表格很长(~3Mio.Lines),我正在寻找一种有效的算法来计算每个元素的角坐标的平均值。

到目前为止,我的计划是通过以下方式更新 numpy 数组的第 i 个元素:

不幸的是,这有几个问题:

  1. 很慢
  2. 我需要知道元素的最高和最低 id(例如,当我只选择一个子集时)
  3. [0.,0.,0.,0.] 如果 id 范围有间隙,我会得到线条。(例如,当我有 element_ids 2、4、7 时......)

是否有任何快速灵活的方法可以做到这一点,也许已经存在 numpy 函数?什么是好的数据类型开始?直接在 PostgreSQL 中这样做更好吗?

提前致谢。

0 投票
0 回答
21 浏览

postgresql - 迟来的分区可能吗?

我有一个 PostgreSQL 10+(可能是 11)数据库可以使用。由于表格增长迅速,但实施时间稀缺,我的方法是首先设置整个方案,以便应用程序可以在其上运行。之后,我想在一些表上介绍分区(按日期)。

迟来的分区可能吗?

实际上,我的意思是我按日期创建分区,然后自动将已插入的数据重新分配给这些分区(如果适用)。另外,如果可能的话,这是一个好方法还是有更好的选择?

我想重组一张大桌子需要时间,但没关系。

0 投票
1 回答
1190 浏览

postgresql - 如何使用 pgTAP 在 PostgreSQL 中测试 PROCEDURE?

是否有使用pgTap对 PostgreSQL 11+ PROCEDURE(不是FUNCTION)进行单元测试的最佳实践。

例如,如何建议对这样的存储过程进行单元测试:

这变得很困难,因为 pgTap 单元测试通过这样的存储函数运行:

这在事务中执行,因此无法执行通过调用COMMIT或修改事务状态的存储过程ROLLBACK

0 投票
1 回答
1142 浏览

stored-procedures - Postgres 11存储过程不返回结果

在 Postgres 11 中,存储过程是否不打算返回结果集?因为当我们运行以下命令时,它说它运行成功但没有返回结果。

0 投票
2 回答
10297 浏览

database-partitioning - 分区表上的 PostgreSQL 11 外键

在 PostgreSQL 11发行说明中,我发现了对分区功能的以下改进:

  • 添加对分区表上的 PRIMARY KEY、FOREIGN KEY、索引和触发器的支持

我需要此功能并对其进行了测试。

创建表:

尝试创建主键:

我收到错误 SQL 错误 [0A000]。如果使用复合 PK(uuid,registration_date)那么它的工作。因为 PK 包含分区列

结论:在分区表中创建 PK 有限制(PK 需要包含分区列)。

尝试创建外键

我收到错误 SQL 错误 [42809]。这意味着分区表上的 FOREIGN KEY 不起作用。

也许我做错了什么。也许有人尝试过这个功能并且知道它是如何工作的。也许有人知道解决方法,除了在应用程序中实现约束。

0 投票
1 回答
33 浏览

transactions - 事务内部的过程调用

我有存储过程,它包含对表的几个更新查询。它使用来自其他几个表的数据。因此,每个查询都在过程中提交,以释放查询中使用的表上的锁。在某些时候,我需要使用一些测试数据创建临时表。临时表名称与持久表的名称相同,以隐藏持久表。我想使用“on commit drop”,但是,如果我开始事务临时表创建顺利,但是在调用 my_very_big_procedure() 时,我收到一个错误“错误的事务结束”并指向第一次提交内部过程。

为了保持代码简短,我将使用一些虚拟示例:

那么如何在事务块中使用过程调用呢?

UPD:好吧,看来我必须在会话中创建临时表并手动删除它们。必须使用表 oid 来确保临时表存在。像这样我认为:

0 投票
2 回答
35 浏览

postgresql - Postgresql:使用两个内部连接进行更新 [MySQL 到 PostgreSQL]

在 MySQL 中,可以这样做:

我试图在 PostgreSQL 中构造相同的查询,如下所示:

我收到以下错误:

错误:对表“a”的 FROM 子句条目的引用无效

我正在使用 PostgreSQL 11。在 postgres 中执行此查询的正确方法是什么?

0 投票
1 回答
740 浏览

postgresql - 在 Postgres 11 中的分区表上设置 autovacuum

我正在尝试在 PostgreSQL 11 上调整分区表上的 autovacuum 设置。

例如:

是否可以更改分区表上的此类设置?

0 投票
2 回答
62 浏览

c# - 非空约束列中存在值但 Postgres 抛出异常

今天我已将我的项目更新为 DotNetCore 2.2。从那时起,我从 Npgsql.PostgresException 收到非空约束列错误,即使值存在。

Npgsql.PostgresException:23502:“ItemCode”列中的空值违反非空约束