如何在PostgreSQL中查询递归规则



我有一个存储iCalendar RFC 5545递归规则字符串的递归表。例:

FREQ=MONTHLY;INTERVAL=2

是否有人知道任何类似的postgres函数做以下?

get_events_between(date,date)

它只会查询递归表并解析rrule字符串

在PostgreSQL中,从版本14开始,没有内置支持RFC-5545递归规则格式。

但是有一些自定义扩展。

  1. pg_rrule。当您安装它时,您应该能够以这种方式查询Ical调度:
SELECT *
FROM unnest(
    get_occurrences(
        'FREQ=MONTHLY;INTERVAL=2'::rrule,
        now(),
        now() + '6 months'::interval
    )
);
  • postgres-rrule

  • 你可以得到一个Python RRULE解析器(如dateutil),并使用PL/Python将其嵌入postgres。

  • 最新更新