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
INSERT 0 10
CREATE FUNCTION
CREATE AGGREGATE
row_num | id | str | strx | val | valx |
---|---|---|---|---|---|
1 | 1 | 1a | 1a | null | null |
2 | 1 | null | 1a | 1 | 1 |
3 | 2 | 2a | 2a | 2 | 2 |
4 | 2 | null | 2a | null | 2 |
5 | 3 | null | 2a | null | 2 |
6 | 3 | 3a | 3a | 31 | 31 |
7 | 3 | null | 3a | null | 31 |
8 | 3 | null | 3a | 32 | 32 |
9 | 3 | 3b | 3b | null | 32 |
10 | 3 | null | 3b | null | 32 |
SELECT 10
row_num | id | str | strx | val | valx |
---|---|---|---|---|---|
1 | 1 | 1a | 1a | null | null |
2 | 1 | null | 1a | 1 | 1 |
3 | 2 | 2a | 2a | 2 | 2 |
4 | 2 | null | 2a | null | 2 |
5 | 3 | null | null | null | null |
6 | 3 | 3a | 3a | 31 | 31 |
7 | 3 | null | 3a | null | 31 |
8 | 3 | null | 3a | 32 | 32 |
9 | 3 | 3b | 3b | null | 32 |
10 | 3 | null | 3b | null | 32 |
SELECT 10
CREATE FUNCTION
CREATE AGGREGATE
row_num | id | str | strx | val | valx |
---|---|---|---|---|---|
1 | 1 | 1a | 1a | null | null |
2 | 1 | null | 1a | 1 | 1 |
3 | 2 | 2a | 2a | 2 | 2 |
4 | 2 | null | 2a | null | 2 |
5 | 3 | null | null | null | null |
6 | 3 | 3a | 3a | 31 | 31 |
7 | 3 | null | 3a | null | 31 |
8 | 3 | null | 3a | 32 | 32 |
9 | 3 | 3b | 3b | null | 32 |
10 | 3 | null | 3b | null | 32 |
SELECT 10
row_num | id | str | strx | val | valx |
---|---|---|---|---|---|
1 | 1 | 1a | 1a | null | null |
2 | 1 | null | 1a | 1 | 1 |
3 | 2 | 2a | 2a | 2 | 2 |
4 | 2 | null | 2a | null | 2 |
5 | 3 | null | null | null | null |
6 | 3 | 3a | 3a | 31 | 31 |
7 | 3 | null | 3a | null | 31 |
8 | 3 | null | 3a | 32 | 32 |
9 | 3 | 3b | 3b | null | 32 |
10 | 3 | null | 3b | null | 32 |
SELECT 10