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