【发布时间】:2017-11-17 22:27:02
【问题描述】:
我在 postgres 中有一个包含 1000 万行的表,它每月按日期列“created_on”进行分区。我的问题是我经常需要在从现在开始的时间间隔内查询这样的表。
但是,如果尝试
SELECT *
FROM partitioned_table pt
WHERE pt.created_on>current_date - '10 days'::INTERVAL
这会遍历所有分区表。
如果我使用固定日期字符串执行相同的查询:
SELECT *
FROM partitioned_table pt
WHERE pt.created_on>'2017-11-17 - '10 days'::INTERVAL
这只适用于最后一个分区表。
显然这是因为 current_date 是动态分配的。知道如何处理它而无需每次都指定日期吗?
【问题讨论】:
标签: postgresql postgresql-9.4 database-partitioning