Re: Very newbie question

Поиск
Список
Период
Сортировка
От Ron
Тема Re: Very newbie question
Дата
Msg-id a3f8878b-6ba2-4754-8639-50a3d2ec2b44@gmail.com
обсуждение исходный текст
Ответ на Very newbie question  (Олег Самойлов <splarv@ya.ru>)
Список pgsql-general
On 10/23/23 10:13, Олег Самойлов wrote:
Back pardon, but I have a very newbie question. I have a partitioned table, partitioned by primary bigint key, size of partition 10000000. I need to get the number of partition which need to archive, which has all rows are olden then 3 month. Here is query:

SELECT id/10000000 as partition   FROM delivery   GROUP BY partition   HAVING max(created_at) < CURRENT_DATE - '3 month'::interval;

The 'id/10000000 as partition' is a number of the partition, it later will be used inside the partition name.
The query runs long by sequence scan. Has anyone any ideas how to rewrite query so it will use any index?

Maybe:
SELECT DISTINCT id/10000000 as partition
FROM delivery
WHERE max(created_at) < CURRENT_DATE - '3 month'::interval;
I haven't tried it, though.

--
Born in Arizona, moved to Babylonia.

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

Предыдущее
От: Олег Самойлов
Дата:
Сообщение: Re: Very newbie question
Следующее
От: Achilleas Mantzios
Дата:
Сообщение: Re: PostgreSQL inheritance vs https://wiki.postgresql.org/wiki/Don%27t_Do_This