Re: unique indexes on partitioned tables

Поиск
Список
Период
Сортировка
От Amit Langote
Тема Re: unique indexes on partitioned tables
Дата
Msg-id 7b2f668d-2a8f-5f03-3c5d-959f5b802ff1@lab.ntt.co.jp
обсуждение исходный текст
Ответ на Re: unique indexes on partitioned tables  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Ответы RE: unique indexes on partitioned tables
Список pgsql-hackers
Hi.

On 2018/02/20 5:45, Alvaro Herrera wrote:
> I pushed this now, with fixes for the last few comments there were.

I noticed with the commit that, while ON CONFLICT (conflict_target) DO
UPDATE gives a less surprising error message by catching it in the parser,
ON CONFLICT (conflict_target) DO NOTHING will go into the executor without
the necessary code to handle the case.  Example:

create table p (a int primary key, b text) partition by list (a);
create table p12 partition of p for values in (1, 2);
create table p3 partition of p (a unique) for values in (3);

insert into p values (1, 'a') on conflict (a) do nothing;
ERROR:  unexpected failure to find arbiter index

Attached is a patch to fix that.  Actually, there are two -- one that
adjusts the partitioned table tests in insert_conflict.sql to have a
partitioned unique index and another that fixes the code.

I suppose we'd need to apply this temporarily until we fix the ON CONFLICT
(conflict_target) case to be able to use partitioned indexes.

Thanks,
Amit

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Ashutosh Bapat
Дата:
Сообщение: Re: Expression errors with "FOR UPDATE" and postgres_fdw withpartition wise join enabled.
Следующее
От: Aleksander Alekseev
Дата:
Сообщение: Re: CURRENT OF causes an error when IndexOnlyScan is used