Декларативное разбиение PostgreSQL - PullRequest
0 голосов
/ 13 ноября 2018

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

у меня есть таблица, похожая на

CREATE TABLE test
(
    created timestamp without time zone NOT NULL,
    tx bigint NOT NULL unique

) PARTITION BY RANGE (created);

CREATE TABLE test_part PARTITION OF test
    FOR VALUES FROM ('2017-01-01') TO ('2017-02-01');

и, если я попытаюсь создать его, я получу

DETAIL:  UNIQUE constraint on table "test" lacks column "created" which is part of the partition key.

но я хотел бы создать уникальный ключ на tx, а не на tx + созданный.

если я создаю уникальный ключ (tx, создан), тогда это действительно, и это не в моем случае

insert into test values('2017-01-02',1)
insert into test values('2017-01-01',1)

как мне создать уникальный индекс, который не содержит ключа раздела?

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

...