172 похожих чатов

Подскажите, пожалуйста есть таблица test со столюбцами id(serial) и ts

(timestamp NOT NULL), PK(id,ts)

Хочу сделать секционирование этой таблицы по столбцу ts, только по неделям.

создавал эту таблицу с помощью PARTITION BY RANGE(ts).

теперь делаю секцию:
CREATE TABLE test_2021_31 PARTITION OF test FOR VALUES FROM (my_to_char(ts) == '2021_31') TO (my_to_char(ts) = '2021_32');

Прилетает

cannot use column reference in partition bound expression, то есть нельзя использовать выражения при создании секций.
Как в таком случае мне грамотнее выполнить секционирование?

my_to_char() от входной даты возвращает год и день недели YYYY_W: ex. 2021_31

12 ответов

6 просмотров

> Хочу сделать секционирование этой таблицы по столбцу ts, только по неделям. Ну так и сделайте. Т.е. сразу задавайте константы в partition bound expressions. Можно использовать pg_partman для автоматизации этого, например.

Setplus-Mac Автор вопроса
Yaroslav Schekin
> Хочу сделать секционирование этой таблицы по сто...

> partition bound expressions под этим подразумевается использование CHECK при создании таблиц-секций?

Setplus Mac
> partition bound expressions под этим подразумев...

Я имел в виду — просто явно выполняйте: CREATE TABLE test_2021_31 PARTITION OF test FOR VALUES FROM ('2021-03-01') TO ('2021-03-07'); -- ну или какие там границы недели

Setplus-Mac Автор вопроса
Yaroslav Schekin
Я имел в виду — просто явно выполняйте: CREATE TAB...

А, ну так это не сработает, потому что надо границы недели вычислять

зачем в пк включать время?

Setplus Mac
А, ну так это не сработает, потому что надо границ...

Хмм... ну так вычисляйте, в чём проблема-то?

Setplus-Mac Автор вопроса
Yaroslav Schekin
Хмм... ну так вычисляйте, в чём проблема-то?

В том, что в явном виде выражения нельзя использовать при создании секций

Setplus-Mac Автор вопроса
D
зачем в пк включать время?

Иначе постгрес ругается, что нет констрейна на это поле

Setplus-Mac Автор вопроса
D
в смысле?! где ругается?

В прямом Был пк на id В таком случае, с пк на id, нельзя пометить таблицу как подлежащую секционированию ( по столбцу ts)

Setplus Mac
В том, что в явном виде выражения нельзя использов...

Ну так посылайте команду CREATE с заранее рассчитанными границами, я это имел в виду.

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
думаешь я не смогу также сделать? мне это просто не удобно
int 💳 𝙖𝙞𝙧 𝙗𝙞𝙜 𝙗𝙤𝙗 🔫 check bio / spam block / AFK / nohello.com / GMT+3
9
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
Ребят, чет я уже не догоняю... Крч в коде на асм там происходит нечто вроде a+число (a+1, a+2 и т.д.). Но почему строка lea ecx, [edx+1] работает как a+1?? В edx берется адрес...
Alan 🔝 Бэброу
3
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
14
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
Карта сайта