如何在PostgreSQL中查询重复规则?

时间:2015-08-27 20:35:23

标签: postgresql calendar icalendar recurrence

我有一个重复表,用于存储iCalendar RFC 5545重复规则字符串。例如:

FREQ=MONTHLY;INTERVAL=2

有没有人知道任何类似于以下的postgres功能?

get_events_between(date,date)

它只会查询重复表并解析rrule字符串。

1 个答案:

答案 0 :(得分:0)

在PostgreSQL中,从版本11开始,没有对RFC-5545重现规则格式的内置支持。

Bu有一个自定义扩展名pg_rrule。安装后,您应该可以通过以下方式查询Ical计划:

SELECT *
FROM unnest(
    get_occurrences(
        'FREQ=MONTHLY;INTERVAL=2'::rrule,
        now(),
        now() + '6 months'::interval
    )
);

作为替代方案,您必须构建自己的RRULE解析器。

PS。我不知道此扩展的稳定性如何。刚刚注意到它的存在,使用Google搜索:-)