Как преобразовать простую таблицу postgresql в гипертабельную или временную таблицу БД, используя для индексации созданный_каталог - PullRequest
0 голосов
/ 23 марта 2019

Проблема в том, что, когда я хочу преобразовать простую таблицу Postgresql в таблицу timescaledb или гипертаблизацию, используя поле таблицы selected_at для индексации, она выдаст эту ошибку.Название таблицы - заказы.Здесь cas_admin_db_new - имя базы данных.

Я перепробовал все возможные пути.ниже, но таблица заказов не преобразуется в гипертаблику.

SELECT create_hypertable ('orders', 'creation_at', chunk_time_interval => 6040800000000);ОШИБКА: невозможно создать уникальный индекс без столбца «create_at» (используется при разбиении)

SELECT create_hypertable ('public.orders', 'creation_at', chunk_time_interval => 6040800000000);ОШИБКА: невозможно создать уникальный индекс без столбца "create_at" (используется при разбиении)

cas_admin_db_new = # SELECT create_hypertable ('public.orders', 'creation_at', chunk_time_interval => 6040800000000, made_default_indexes => FALSE);ОШИБКА: функция create_hypertable (неизвестно, неизвестно, chunk_time_interval => bigint, create_default_indexes => логическое значение) не существует

cas_admin_db_new = # SELECT create_hypertable ('"ORDER"', 'creation_at', 'made_at', chunk_time_interval>> chunk_time_interval>ОШИБКА: отношение "ЗАКАЗАТЬ" не существует ЛИНИЯ 1: ВЫБРАТЬ create_hypertable ('"ЗАКАЗАТЬ" "," создано_ время ", chunk_time _...

1 Ответ

1 голос
/ 23 марта 2019

Сроки человека здесь.Проблема заключается в том, что ваша схема, вероятно, перечисляет какой-то другой столбец в качестве первичного ключа (или индекса UNIQUE).

TimescaleDB требует, чтобы любой PK / уникальный индекс включал все ключи разделения, в вашем случае - made_at.

Это потому, что мы делаем это тяжелое базовое разбиение и не хотим создавать глобальные структуры поиска, чтобы гарантировать уникальность за пределами того, что мы уже используем для разбиения.

Дополнительная информация:

https://docs.timescale.com/latest/using-timescaledb/schema-management#indexing-best-practices

...