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 tablename (class VARCHAR(1), phase VARCHAR(5));
INSERT INTO tablename (class, phase) VALUES
('a', 'sold'),
('b', 'stock'),
('c', 'idle'),
('d', 'sold');
CREATE TABLE
INSERT 0 4
SELECT 100 * AVG((phase = 'sold')::int) AS avg_sold
FROM tablename;
avg_sold |
---|
50.00000000000000000000 |
SELECT 1