Skip to content

Игнорируются партиции при запросе к view #165

Closed
@barbiedrummer

Description

@barbiedrummer

Описание проблемы

Имеется такая вьюха:

create or replace view webpush.endpoint as
select
  id, t_text
from warehouse.endpoint_archive
where 1 = 1 /* Хак для планировщика. Без него скипаются партиции и запрос идёт только по пустой parent-таблице. */
union all
select
  id, t_text
from webpush_main_fdw.endpoint;

таблица warehouse.endpoint_archive - партицирована по ID
таблица webpush_main_fdw.endpoint - берётся по fdw с другого сервера

При запросе

select count(*)
  from webpush.endpoint
where id between 1 and 50000

без строчки с хаком получаем план, при котором вообще нет обращения к партициям, хотя все данные лежат в них
image
если использовать хак
image

Это нормальное поведение, если бы использовалась конструкция FROM ONLY. Здесь же, похоже баг.

Environment

image

image

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions