By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
Help with an interesting Postgres question: Why isn't an Index Only Scan used on a partition accessed via the parent table?.
CREATE TABLE tbl (id int, val boolean);
INSERT INTO tbl VALUES
(1, true)
, (2, false)
, (3, null)
;
CREATE TABLE
INSERT 0 3
SELECT * FROM tbl WHERE val;
SELECT * FROM tbl WHERE NOT val;
SELECT * FROM tbl WHERE val IS NULL;
id | val |
---|---|
1 | t |
SELECT 1
id | val |
---|---|
2 | f |
SELECT 1
id | val |
---|---|
3 | null |
SELECT 1
SELECT * FROM tbl WHERE val IS NOT TRUE;
SELECT * FROM tbl WHERE val IS NOT FALSE;
SELECT * FROM tbl WHERE val IS NOT NULL;
id | val |
---|---|
2 | f |
3 | null |
SELECT 2
id | val |
---|---|
1 | t |
3 | null |
SELECT 2
id | val |
---|---|
1 | t |
2 | f |
SELECT 2