Query planning on partitioned table causes postgres 13.4 to consume all memory

Поиск
Список
Период
Сортировка
От Duncan Sands
Тема Query planning on partitioned table causes postgres 13.4 to consume all memory
Дата
Msg-id 4a3115d4-0fb2-e214-93e3-9a9d0974b883@deepbluecap.com
обсуждение исходный текст
Ответы Re: Query planning on partitioned table causes postgres 13.4 to consume all memory  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
Postgresql version: 13.4
O/S version: Ubuntu 21.04

How to reproduce:
   (1) Create "data" schema and its tables by executing the commands from the 
attached file d.sql.  Each of the two created tables has less than 20 rows.
   (2) Execute or EXPLAIN this query

DELETE FROM data.files

   WHERE path=ANY(

    SELECT path

      FROM (

             SELECT meta, path,

                first_value(path)

                   OVER (PARTITION BY meta ORDER BY priority) AS first

             FROM data.files

          ) f,

          data.metadata m

      WHERE f.path <> f.first

       AND f.meta = m.id

       AND m.syd = 667

    );


   (3) Observe that the EXPLAIN/query never completes, and memory usage goes up 
and up.


For example:

duncan=> \i /tmp/d.sql

...
duncan=> DELETE FROM data.files

   WHERE path=ANY(

    SELECT path

      FROM (

             SELECT meta, path,

                first_value(path)

                   OVER (PARTITION BY meta ORDER BY priority) AS first

             FROM data.files

          ) f,

          data.metadata m

      WHERE f.path <> f.first

       AND f.meta = m.id

       AND m.syd = 667

    );

... wailing and gnashing of teeth ...

Вложения

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

Предыдущее
От: Sushant Kamboj
Дата:
Сообщение: Re: BUG #17193: Issue with pg_output login
Следующее
От: Дмитрий Секретов
Дата:
Сообщение: Re: BUG #17070: Sometimes copy from ingnores transaction