Turning off enable_partition_pruning doesn't

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Turning off enable_partition_pruning doesn't
Дата
Msg-id 16096.1556649351@sss.pgh.pa.us
обсуждение исходный текст
Ответы Re: Turning off enable_partition_pruning doesn't  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Список pgsql-hackers
I'd have thought that disabling enable_partition_pruning would,
um, disable partition pruning.  It does not:

regression=# create table p (a int) partition by list (a);
CREATE TABLE
regression=# create table p1 partition of p for values in (1);
CREATE TABLE
regression=# create table p2 partition of p for values in (2);
CREATE TABLE
regression=# explain select * from p1 where a = 3;
                     QUERY PLAN
----------------------------------------------------
 Seq Scan on p1  (cost=0.00..41.88 rows=13 width=4)
   Filter: (a = 3)
(2 rows)

regression=# set enable_partition_pruning TO off;
SET
regression=# explain select * from p1 where a = 3;
                     QUERY PLAN
----------------------------------------------------
 Seq Scan on p1  (cost=0.00..41.88 rows=13 width=4)
   Filter: (a = 3)
(2 rows)


The fact that we fail to prune the first child is a separate issue
driven by some ruleutils.c limitations, cf
https://www.postgresql.org/message-id/flat/001001d4f44b$2a2cca50$7e865ef0$@lab.ntt.co.jp

My point here is that the second EXPLAIN should have shown scanning
both partitions, shouldn't it?

(v11 behaves the same as HEAD here; didn't try v10.)

            regards, tom lane



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: REINDEX INDEX results in a crash for an index of pg_class since9.6
Следующее
От: Justin Pryzby
Дата:
Сообщение: Re: doc: improve PG 12 to_timestamp()/to_date() wording