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 IF NOT EXISTS ves2
(
"Год" integer,
"Ветропарк" integer,
"Станция" character varying COLLATE pg_catalog."default",
"Показатели" character varying COLLATE pg_catalog."default",
"Е_И" character varying COLLATE pg_catalog."default",
"Установленная_мощность" numeric,
"Январь" numeric,
"Февраль" numeric,
"Март" numeric,
"Апрель" numeric,
"Май" numeric,
"Июнь" numeric,
"Июль" numeric,
"Август" numeric,
"Сентябрь" numeric,
"Октябрь" numeric,
"Ноябрь" numeric,
"Декабрь" numeric,
"Итог" numeric GENERATED ALWAYS AS (COALESCE("Январь", 0) +
COALESCE("Февраль", 0) +
COALESCE("Март", 0) +
COALESCE("Апрель", 0) +
COALESCE("Май", 0) +
COALESCE("Июнь", 0) +
COALESCE("Июль", 0) +
COALESCE("Август", 0) +
COALESCE("Сентябрь", 0) +
COALESCE("Октябрь", 0) +
COALESCE("Ноябрь", 0) +
COALESCE("Декабрь", 0) ) STORED,
id character varying COLLATE pg_catalog."default"
);
INSERT INTO ves2 ("Год", "Ветропарк", "Станция", "Показатели", "Е_И", "Установленная_мощность") VALUES
(2023, 15, 'Cтанция1', 'Выработка электрической энергии, всего', 'млн.кВтч', 75.6);
CREATE TABLE
INSERT 0 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
UPDATE 1
Год | Ветропарк | Станция | Показатели | Е_И | Установленная_мощность | Январь | Февраль | Март | Апрель | Май | Июнь | Июль | Август | Сентябрь | Октябрь | Ноябрь | Декабрь | Итог | id |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2023 | 15 | Cтанция1 | Выработка электрической энергии, всего | млн.кВтч | 75.6 | 25.324 | 19.331 | 23.61 | 11.398 | 15.199 | null | null | null | null | null | null | null | 94.862 | null |
SELECT 1