postgresql - 如何在 Heroku 上使用 Temporal Postgres/Postgres 9.2 的 PERIOD 功能?

标签 postgresql datetime heroku timestamp postgresql-9.2

我正在构建一个应用程序来处理时间和持续时间,以及数据库中给定时间单位和开始/结束时间之间的交集,例如:

数据库:

Row # | start - end
Row 1 | 1:00 - 4:00
Row 2 | 3:00 - 6:00

我希望能够选择两个特定时间之间的时间总和,或者 GROUP BY 一个 INTERVAL,这样返回的记录集在给定的时间间隔内将有一行对应每个总和,例如:

SELECT length( (start, end) )  WHERE (start, end) INTERSECTS (2:00,4:00)

(在这种情况下(开始,结束)是一个 PERIOD,它是 Postgres Temporal 和 pg9.2 中的新数据类型)

哪个会返回

INTERVAL 3 HOURS

因为第 1 行在 2:00 - 4:00 之间有两个小时,而第 2 行在此期间有一个小时。

此外,我希望能够:

SELECT "lower bound of start", length( (start, end) )  GROUP BY INTERVAL 1 HOUR

我想返回:

1:00 | 1
2:00 | 1
3:00 | 2
4:00 | 2
5:00 | 1

显示给定时间间隔内每小时一行,以及该时间间隔开始时的时间总和

认为 PERIOD 类型可以用于此,它在 Postgres Temporal 和 Postgres 9.2 中。但是,据我所知,目前这些在 Heroku 上不可用 - 所以,

如何在 Heroku 上启用这些类型的数学运算?

最佳答案

尝试运行:

 heroku addons:add heroku-postgresql:dev --version=9.2

这应该会为您提供支持范围类型的 9.2 版本。由于这是目前非常阿尔法的任何反馈,我们将不胜感激 dod-feedback@heroku.com

关于postgresql - 如何在 Heroku 上使用 Temporal Postgres/Postgres 9.2 的 PERIOD 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12444764/

相关文章:

mongodb - 选择/配置数据库以获得高吞吐量、可靠、一致的写入吞吐量,牺牲延迟

powershell - 在 PowerShell 中传递格式数组时 DateTime TryParseExact 失败

c# - 获取月初和月末日期的最简单方法是什么?

git - heroku git clone 给出致命的 : index-pack failed

node.js - Heroku错误: R10, NodeJS

heroku - Heroku Toolbelt在多个帐户之间切换

arrays - 将数组的数组作为参数传递给函数

postgresql - Docker-Compose postgres 升级 initdb : error: directory "/var/lib/postgresql/data" exists but is not empty

sql - 从表中选择时间戳彼此相差不到一小时的项目

python - 转换多种类型的日期