问题标签 [postgresql-9.5]

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

sql - 如何在 PostgreSQL 中聚合具有可变数量键的 JSON 数组?

我在 PostgreSQL 表中有一系列行,如下所示:

我想按学生、组和子组对它们进行分组,并获得每个曲目的计数状态。就像是:

问题是轨道的数量可能会有所不同。我知道他们的名字,但他们不是静态的,所以我不能做一个简单的聚合。有什么建议我可以在 PostgreSQL (9.5) 中写这个吗?我不想遍历所有轨道并聚合,因为操作需要一些时间。

0 投票
2 回答
136 浏览

mysql - 创建表时尝试在 sql 中读取 mm/dd/yyyy 格式

所以我对 SQL 很陌生,我正在尝试创建一个表,稍后我将在其中导入一个 .csv 文件。在此表中有一个时间戳列,我想将其设置为读取 mm/dd/yyyy hh:mi:ss,但我尝试过这样做:

我得到这个错误

我似乎无法弄清楚这一点。

任何帮助都可以。谢谢!

0 投票
1 回答
165 浏览

sql - 试图在 postgresql 中将 hh:mi:ss 转换为 hhmiss

因此,我一直在尝试将时间转换为表格中的一列。表中的时间列的格式为 hh:mi:ss 但我需要它的格式为 hhmiss 不带冒号;到目前为止,我已经尝试过:

但我得到这个错误:

错误:“,”或附近的语法错误第 3 行:其中 time_utc = CONVERT(VARCHAR(8), GETDATE(), 108)

我不知道为什么会出现这个错误,请一些帮助会很棒我在 SQL 中相对较新。

0 投票
1 回答
873 浏览

postgresql - variable_conflict use_variable 是否不适用于 UPSERT 的 ON CONFLICT 子句?

我经常使用 variable_conflict use_variable,到目前为止我从来没有遇到过任何问题。但是,它不适用于 的ON CONFLICT子句UPSERT。这是我的复制品:

没有 #variable_conflict use_variable 一切正常:

我错过了什么?

0 投票
2 回答
110 浏览

sql - 获取停止(第 x 行)和开始(第 x+1 行)之间的时间间隔

我在 PostgreSQL 9.5 中有一个表,每行有两个时间戳timestampstart并且timestampstop.

现在我不想计算 start 和 stop 之间的间隔,而是stop 和 next start之间的间隔。TIMESTAMPSTOP所以我想要从第 xTIMESTAMPSTART行到第 x+1 行之间的间隔。顺便说一句,这ID不是按时间顺序排列的!

0 投票
0 回答
825 浏览

postgresql - 在 PostgreSQL 中的所有频道上收听

我想将来自 PostgreSQL 的所有通知转发到 RabbitMQ 中的任务队列,其名称与NOTIFY channel. PostgreSQL 有类似的东西LISTEN *吗?

检查斯基特的来源似乎PQnotifies可能很有趣。PostgreSQL 关于 libpq 的文档也提到PQconsumeInput了一种使用服务器输入的方式。从文档中:

PQconsumeInput 通常返回 1 表示“无错误”,但如果出现某种故障则返回 0(在这种情况下可以查询 PQerrorMessage)。请注意,结果并未说明是否实际收集了任何输入数据。调用 PQconsumeInput 后​​,应用程序可以检查 PQisBusy 和/或 PQnotifies 以查看它们的状态是否已更改。

我在正确的道路上吗?由于我使用的是 .NET,因此我不想编写任何 C,因此欢迎提出任何建议。

我试过pgsql-listen-exchange但要么我做错了,要么插件不适用于 RabbitMQ 3.6(只有 3.5 版本)。我创建了一个问题

特定于 RabbitMQ:作为从 PostgreSQL 监听所有内容的替代方案,我想我可以创建一个交换器并为队列进行轮询,然后为每个队列创建一个监听器。也会对此进行调查。

0 投票
1 回答
1320 浏览

json - 在 Postgresql 中查询复杂 JSON 的简洁方法

我将 JSON 数据存储在我的 postgresql 9.5 DB 的 JSONB 字段中。

有没有办法在不知道哪一列是子对象的情况下制作子对象列?

有问题的 JSON 示例:

我可以使用以下内容从 JSON 对象中获取所有键。

SELECT * FROM json_object_keys('{"a":1,"b":[1,2,3],"c":"bar", "d":{"key1":"value1", "key2":"value2"}}')

那时我可以使用 json_to_record() 但我想将列拆分为他们自己的单独字段。

select * from json_to_record('{"a":1,"b":[1,2,3],"c":"bar", "d":{"key1":"value1", "key2":"value2"}}') as x(a int, b text, c text, d text)

得到我

有没有办法让这样的东西回来,最好是在一个查询中?

0 投票
2 回答
54045 浏览

sql - 如何在 postgres 9.5 中正确执行 upsert

使用 postgresql 9.5 正确的 upsert 语法,下面的查询显示column reference "gallery_id" is ambiguous错误,为什么?

我尝试更改WHERE gallery_id = $2;WHERE category_gallery.gallery_id = $2;然后显示错误there is no unique or exclusion constraint matching the ON CONFLICT specification,但我不想将 gallery_id 或 category_id 设置为唯一的,因为我想确保两列相同然后更新....

如何在 postgres 9.5 中正确执行 upsert?

如果ON CONFLICT需要唯一列,我应该使用其他方法,如何?



我想确定多个列都冲突然后更新,正确的用法是什么

表(category_id,gallery_id 不是唯一列)

0 投票
1 回答
257 浏览

postgresql - PostgreSQL 几个 COUNT DISTINCT 在同一查询中与其他字段上的 GROUP BY

我正在寻找优雅的方式来编写这个查询的 PostgreSQL 版本:

它可以通过 CONCAT 函数来完成,但在这种情况下我会得到巨大的性能下降。

每个不同的计数都可以这样写:

但我找不到如何将它们组合成一个查询以获得最终结果

这是创建表来测试语法:

0 投票
1 回答
1212 浏览

maven - UPSERT 仅在 postgreSQL 9.5 上支持,maven 存储库有 9.4

我需要仅在 9.5 及更高版本上支持的 UPSERT 功能 - 而回购的最后一个添加是针对版本 9.4(2016 年 2 月)。那么我们该怎么办?

http://mvnrepository.com/artifact/org.postgresql/postgresql

谢谢!