问题标签 [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.
postgresql - ("") 在 EDBPOSTGRESQL 中调用过程
我这里有一个情况,我们正在从 Oracle 迁移到 EDB POSTGRES ADVANCED SERVER(ORACLE COMPATIBLE)。我将分享一个示例程序(在我们的组织程序中到处都使用相同的方法)。
此过程编译成功。但是当我调用程序时
结果就像
在此之后我要做的是
这次我得到了想要的输出。有什么方法可以通过调用如下的过程来获取记录
python - 有效计算列表中每个多边形的中心
对于我的关于有限元分析的输入数据的小型数据挖掘项目,我已将 SQL 查询的结果导出到元素角的长 python 列表(三角形等)。这是一些示例数据:
其中列表中每个元组中的第一个值是id
元素的,第二个值是角的坐标。为了进一步处理,我需要每个 的中心element
,最好是在一个 numpy 数组中,以及数据。
由于表格很长(~3Mio.Lines),我正在寻找一种有效的算法来计算每个元素的角坐标的平均值。
到目前为止,我的计划是通过以下方式更新 numpy 数组的第 i 个元素:
不幸的是,这有几个问题:
- 很慢
- 我需要知道元素的最高和最低 id(例如,当我只选择一个子集时)
[0.,0.,0.,0.]
如果 id 范围有间隙,我会得到线条。(例如,当我有 element_ids 2、4、7 时......)
是否有任何快速灵活的方法可以做到这一点,也许已经存在 numpy 函数?什么是好的数据类型开始?直接在 PostgreSQL 中这样做更好吗?
提前致谢。
postgresql - 迟来的分区可能吗?
我有一个 PostgreSQL 10+(可能是 11)数据库可以使用。由于表格增长迅速,但实施时间稀缺,我的方法是首先设置整个方案,以便应用程序可以在其上运行。之后,我想在一些表上介绍分区(按日期)。
迟来的分区可能吗?
实际上,我的意思是我按日期创建分区,然后自动将已插入的数据重新分配给这些分区(如果适用)。另外,如果可能的话,这是一个好方法还是有更好的选择?
我想重组一张大桌子需要时间,但没关系。
postgresql - 如何使用 pgTAP 在 PostgreSQL 中测试 PROCEDURE?
是否有使用pgTap对 PostgreSQL 11+ PROCEDURE(不是FUNCTION)进行单元测试的最佳实践。
例如,如何建议对这样的存储过程进行单元测试:
这变得很困难,因为 pgTap 单元测试通过这样的存储函数运行:
这在事务中执行,因此无法执行通过调用COMMIT
或修改事务状态的存储过程ROLLBACK
。
stored-procedures - Postgres 11存储过程不返回结果
在 Postgres 11 中,存储过程是否不打算返回结果集?因为当我们运行以下命令时,它说它运行成功但没有返回结果。
database-partitioning - 分区表上的 PostgreSQL 11 外键
在 PostgreSQL 11发行说明中,我发现了对分区功能的以下改进:
- 添加对分区表上的 PRIMARY KEY、FOREIGN KEY、索引和触发器的支持
我需要此功能并对其进行了测试。
创建表:
尝试创建主键:
我收到错误 SQL 错误 [0A000]。如果使用复合 PK(uuid,registration_date)那么它的工作。因为 PK 包含分区列
结论:在分区表中创建 PK 有限制(PK 需要包含分区列)。
尝试创建外键
我收到错误 SQL 错误 [42809]。这意味着分区表上的 FOREIGN KEY 不起作用。
也许我做错了什么。也许有人尝试过这个功能并且知道它是如何工作的。也许有人知道解决方法,除了在应用程序中实现约束。
transactions - 事务内部的过程调用
我有存储过程,它包含对表的几个更新查询。它使用来自其他几个表的数据。因此,每个查询都在过程中提交,以释放查询中使用的表上的锁。在某些时候,我需要使用一些测试数据创建临时表。临时表名称与持久表的名称相同,以隐藏持久表。我想使用“on commit drop”,但是,如果我开始事务临时表创建顺利,但是在调用 my_very_big_procedure() 时,我收到一个错误“错误的事务结束”并指向第一次提交内部过程。
为了保持代码简短,我将使用一些虚拟示例:
那么如何在事务块中使用过程调用呢?
UPD:好吧,看来我必须在会话中创建临时表并手动删除它们。必须使用表 oid 来确保临时表存在。像这样我认为:
postgresql - Postgresql:使用两个内部连接进行更新 [MySQL 到 PostgreSQL]
在 MySQL 中,可以这样做:
我试图在 PostgreSQL 中构造相同的查询,如下所示:
我收到以下错误:
错误:对表“a”的 FROM 子句条目的引用无效
我正在使用 PostgreSQL 11。在 postgres 中执行此查询的正确方法是什么?
postgresql - 在 Postgres 11 中的分区表上设置 autovacuum
我正在尝试在 PostgreSQL 11 上调整分区表上的 autovacuum 设置。
例如:
是否可以更改分区表上的此类设置?
c# - 非空约束列中存在值但 Postgres 抛出异常
今天我已将我的项目更新为 DotNetCore 2.2。从那时起,我从 Npgsql.PostgresException 收到非空约束列错误,即使值存在。
Npgsql.PostgresException:23502:“ItemCode”列中的空值违反非空约束