2016-12-07 5 views
0

Мне нужно разбить существующую таблицу, которая является main.customer по году. Ситуация у меня в том, что у меня есть столбец, который содержит строку с годом в ней, и я хочу извлечь часть года из этой строки.postgresql разбиение по дате из существующей таблицы

мой образец запрос ..

CREATE TABLE main.customer_prtn (LIKE main.customer) 
PARTITION BY RANGE (to_date(substring(ref_id,1,4),'YYYY')) 
(START (date '2008') INCLUSIVE, 
.... 
END (date '2015') EXCLUSIVE 
EVERY (INTERVAL '1 year')); 

Когда я выполнить запрос, я получаю сообщение

ERROR: syntax error at or near "(" 
LINE 2: PARTITION BY RANGE (to_date(substring(ref_id,1,4),'YYYY')) 
+0

Вы действительно должны уточнить свой вопрос! – pjc90

ответ

1

PostgreSQL не имеет декларативное разбиения еще (а patch for v10 находится в стадии рассмотрения).

Прочтите the documentation about partitioning, чтобы узнать, как это должно быть сделано в настоящее время.