BUG #17944: Partial index on boolean field is not picked when using = while the index is created with is

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: ajeesh2705(at)gmail(dot)com
Subject: BUG #17944: Partial index on boolean field is not picked when using = while the index is created with is
Date: 2023-05-25 14:04:39
Message-ID: 17944-299d21e4e9e90eda@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 17944
Logged by: Ajeesh Sasidharan
Email address: ajeesh2705(at)gmail(dot)com
PostgreSQL version: 13.8
Operating system: Linux
Description:

I have recently created a partial index on tables like following

create index unprocessed_order_index
on order (creation_date) where processed is false;

When I am querying the table using processed = false like below, the index
is not used

SELECT count(*) from order where processed = false and creation_date <
now()

but the index is used while querying using processed is false

SELECT count(*) from order where processed is false and creation_date <
now()

I was expecting to treat both = and is same, or am I wrong

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2023-05-25 14:39:13 BUG #17945: Different order of definition of a constraint causes constraint violation
Previous Message Michael Paquier 2023-05-25 07:45:50 Re: BUG #17942: vacuumdb doesn't populate extended statistics on partitioned tables