问题标签 [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.
sql - 如何在 PostgreSQL 中聚合具有可变数量键的 JSON 数组?
我在 PostgreSQL 表中有一系列行,如下所示:
我想按学生、组和子组对它们进行分组,并获得每个曲目的计数状态。就像是:
问题是轨道的数量可能会有所不同。我知道他们的名字,但他们不是静态的,所以我不能做一个简单的聚合。有什么建议我可以在 PostgreSQL (9.5) 中写这个吗?我不想遍历所有轨道并聚合,因为操作需要一些时间。
mysql - 创建表时尝试在 sql 中读取 mm/dd/yyyy 格式
所以我对 SQL 很陌生,我正在尝试创建一个表,稍后我将在其中导入一个 .csv 文件。在此表中有一个时间戳列,我想将其设置为读取 mm/dd/yyyy hh:mi:ss,但我尝试过这样做:
我得到这个错误
我似乎无法弄清楚这一点。
任何帮助都可以。谢谢!
sql - 试图在 postgresql 中将 hh:mi:ss 转换为 hhmiss
因此,我一直在尝试将时间转换为表格中的一列。表中的时间列的格式为 hh:mi:ss 但我需要它的格式为 hhmiss 不带冒号;到目前为止,我已经尝试过:
但我得到这个错误:
错误:“,”或附近的语法错误第 3 行:其中 time_utc = CONVERT(VARCHAR(8), GETDATE(), 108)
我不知道为什么会出现这个错误,请一些帮助会很棒我在 SQL 中相对较新。
postgresql - variable_conflict use_variable 是否不适用于 UPSERT 的 ON CONFLICT 子句?
我经常使用 variable_conflict use_variable,到目前为止我从来没有遇到过任何问题。但是,它不适用于 的ON CONFLICT
子句UPSERT
。这是我的复制品:
没有 #variable_conflict use_variable 一切正常:
我错过了什么?
sql - 获取停止(第 x 行)和开始(第 x+1 行)之间的时间间隔
我在 PostgreSQL 9.5 中有一个表,每行有两个时间戳,timestampstart
并且timestampstop
.
现在我不想计算 start 和 stop 之间的间隔,而是stop 和 next start之间的间隔。TIMESTAMPSTOP
所以我想要从第 xTIMESTAMPSTART
行到第 x+1 行之间的间隔。顺便说一句,这ID
不是按时间顺序排列的!
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 监听所有内容的替代方案,我想我可以创建一个交换器并为队列进行轮询,然后为每个队列创建一个监听器。也会对此进行调查。
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)
得到我
有没有办法让这样的东西回来,最好是在一个查询中?
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 不是唯一列)
postgresql - PostgreSQL 几个 COUNT DISTINCT 在同一查询中与其他字段上的 GROUP BY
我正在寻找优雅的方式来编写这个查询的 PostgreSQL 版本:
它可以通过 CONCAT 函数来完成,但在这种情况下我会得到巨大的性能下降。
每个不同的计数都可以这样写:
和
但我找不到如何将它们组合成一个查询以获得最终结果
这是创建表来测试语法:
maven - UPSERT 仅在 postgreSQL 9.5 上支持,maven 存储库有 9.4
我需要仅在 9.5 及更高版本上支持的 UPSERT 功能 - 而回购的最后一个添加是针对版本 9.4(2016 年 2 月)。那么我们该怎么办?
http://mvnrepository.com/artifact/org.postgresql/postgresql
谢谢!