Sql Postgres忽略表约束,扫描所有继承的表,即使约束不';不匹配

Sql Postgres忽略表约束,扫描所有继承的表,即使约束不';不匹配,sql,performance,postgresql,partitioning,Sql,Performance,Postgresql,Partitioning,我有一个Postgres表,其中大约有1000个继承表被创建用于分区数据 每个继承的表在名为capture\u time的时间戳列上都有一个约束 capture\u time>=X和capture\u time好的,我找到了。我在where子句中使用了current\u date——一个非常量参数。将current_date更改为文字值,修复它 约束排除仅在查询的WHERE子句包含 常数。将不会优化参数化查询,因为 planner无法知道参数值可能选择哪些分区 在运行时。出于同样的原因,“稳定”

我有一个Postgres表,其中大约有1000个继承表被创建用于分区数据

每个继承的表在名为
capture\u time的时间戳列上都有一个约束


capture\u time>=X和capture\u time好的,我找到了。我在
where
子句中使用了
current\u date
——一个非常量参数。将
current_date
更改为文字值,修复它

约束排除仅在查询的WHERE子句包含 常数。将不会优化参数化查询,因为 planner无法知道参数值可能选择哪些分区 在运行时。出于同样的原因,“稳定”功能,如 必须避免使用当前日期