-
Notifications
You must be signed in to change notification settings - Fork 67
Нет возможности задавать шаблон названий дочерних таблиц #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Вы бы хотели, чтобы была функция или вьюшка, которая бы возвращала список партиций и соответствующих интервалов? Это несложно добавить.
В списке атрибутов SELECT-а можно указать скрытый столбец tableoid, который возвращает OID фактической таблицы. Из него несложно получить имя. Например:
Вы это имели в виду?
Боюсь, такая дополнительная проверка может замедлить остальные запросы на удаление.
Проверил, действительно не копируется. Подумаем, что с этим делать.
Мы изначально ставили целью оптимизацию работы планировщика для большого числа секций (сотен и тысяч). pg_partman предоставляет администратору удобные средства для разбиения и управления секциями, но он не решает проблему производительности, присущую postgresql. Вот здесь @akorotkov публиковал сравнение производительности pg_pathman и pg_partman: Pg_pathman UPDATE and DELETE Support and Benchmark |
Нет, я бы хотел предсказуемое имя реальных таблиц, чтобы потом на эти таблицы можно было ссылаться, грубо говоря, из крон-скриптов. Тоже самое к любым другим авто-нумеруемым элементам типа индексов и др. (если есть). Либо, не использовать шаблоны, но задокументировать и зафиксировать способ образования новых имён.
Да, похоже, что я это имел в виду. Надо добавить это в пример (readme.md) как сделать запрос чтобы получить в итоге таблицу:
Если сделали Если же условия удаления более сложные (даже приводящие к полному удалению записей из реальной таблицы) то указанную мной оптимизацию не включать. Реальный юзекейс - удаление старых записей из статистики. удалению будет именно такое "Удалить все записи старее такой-то даты". Ну и разделение, естественно, под столбцу с таймстампом.
Тогда нужно отписать явно в документации что именно копируется (наследуется) а что нет. И написать что работы над этим ведутся.
считаю это достойным документирования. |
Вы сами создадите на каждую подзадачу issue или это лучше мне сделать ? |
Лучше создайте вы и опишите юзкейсы. Спасибо за отзыв! |
Например, для разбивалки по диапазонам - я хочу некоторые операции делать над фактическими таблицами. А где взять их имена ? Вдруг в следующей версии схема именования поменяется ?
Ну, и пачка идей:
Нет возможности указывать шаблон названия тейблспейса для каждой создаваемой таблицы. Либо нужен триггер в котором можно переместить таблицу (это возможно из триггера?).
Ещё, из идей - чтобы при выборках из виртуальной таблицы был дополнительный виртуальный столбец - имя фактической таблицы.
Кстати, не по теме, а там нет оптимизации, что при удалении записей в диапазоном разбиении - если выясняется что все записи из некоторой таблицы будут удалены, то проще сделать drop table, чем удалять из таблицы всё.
и ещё, в документации нужно указать полный список того, что копируется с главной таблицы, а что нет во время создания реальных. Фантазирую, конечно, но вдруг какой-то признак типа unlogged, fillfactor или autovacuum не копируется (не проверял).
Не документировано как формируется название индексов при копировании с мастер-таблицы.
Если в мастер-таблице было запомнено что кластеризовать по этому индексу, это перенесётся в дочерние таблицы (должна смениться ссылка на новый индекс)?
ещё, ранее я находил https://github.com/keithf4/pg_partman и там ведётся работа. у кого лучше ? есть ещё https://github.com/moat/range_partitioning
The text was updated successfully, but these errors were encountered: