Берется максимальное value в таблице (1000) . Первый отрезок берется с первой записи до этого максимального value включительно.
Затем алгоритм повторяется, след максимальное число - 860, данный отрезок будет начинаться с 500, т.к. 100 уже забита и по 860.
И данный алгоритм должен повторяться (рекурсивно?!) до тех пор пока в главной таблице не останится записей, свободных для дальнейшего партицирования.
В итоге должны получиться такие группы:
1 группа - 40, 1000
2 группа - 500, 2, 13, 860
3 группа - 74, 15, 230
4 группа - 100
Смог это решить на php, вытащив массив, но нужно именно в postgres поделить по slave таблицам, при условии, что таблица parts может быть бескрайней, т.е. подтаблицы должны создаваться динамически.