Как разделить таблицу на два столбца?

В таблице T1 есть столбцы — app_id, start_time, end_time, value. У нас есть несколько приложений, и мы хотели бы разделить таблицы по app_id и start_time (еженедельные разделы). Вот как должны выглядеть дочерние разделы

T1_part1_2018 
app_id start_time end_time   value
1     10-10-2018  10-11-2018 garbage

T2_part2_2018 
app_id start_time end_time   value
2     10-10-2018  10-11-2018 garbage

T1_part1_2019
app_id start_time end_time   value
1     10-10-2019  10-11-2019 garbage

T2_part2_2019
app_id start_time end_time   value
2     10-10-2019  10-11-2019 garbage

Как мне это сделать?


person sharadov    schedule 06.09.2019    source источник


Ответы (1)


Я думаю, что вы ищете механизм подраздела:

Какой раздел должен быть материнским для другого, полностью зависит от ваших потребностей: если вам никогда не нужно запрашивать данные более чем одного app_id, я бы рекомендовал сделать app_id ключом материнского раздела.

РЕДАКТИРОВАТЬ: А вот страница проекта расширения pg_partman: https://pgxn.org/dist/pg_partman/doc/pg_partman.html

person Jaisus    schedule 06.09.2019
comment
Неужели нет другого выхода, кроме как разделять? Меня беспокоит сложность управления несколькими клиентскими разделами, масштабируемость и производительность. - person sharadov; 06.09.2019
comment
Если вам нужно что-то более простое в управлении: pgxn.org/dist/pg_partman/doc/pg_partman .html — это расширение для вас ;) - person Jaisus; 08.09.2019