Re: should CREATE INDEX ON partitioned_table callPreventInTransactionBlock() ?

Поиск
Список
Период
Сортировка
От Justin Pryzby
Тема Re: should CREATE INDEX ON partitioned_table callPreventInTransactionBlock() ?
Дата
Msg-id 20200608154045.GV22473@telsasoft.com
обсуждение исходный текст
Ответ на Re: should CREATE INDEX ON partitioned_table callPreventInTransactionBlock() ?  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Ответы Re: should CREATE INDEX ON partitioned_table callPreventInTransactionBlock() ?  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Список pgsql-hackers
On Mon, Jun 08, 2020 at 11:27:26AM -0400, Alvaro Herrera wrote:
> On 2020-Jun-08, Justin Pryzby wrote:
> 
> > This blocks writes to all partitions until commit:
> > 
> > postgres=# begin; CREATE INDEX ON pt(i);
> > BEGIN
> > CREATE INDEX
> > 
> > Compare with CLUSTER rel1, rel2, ..., and REINDEX {SCHEMA|DATABASE|SYSTEM},
> > which release their locks as soon as each rel is processed.

(Correcting myself, I guess I mean "CLUSTER;" - it doesn't accept multiple
relation arguments.)

> Well, that would also require that transactions are committed and
> started for each partition.  Merely adding PreventInTransactionBlock
> would not do that.  Moreover, since this would break DDL-in-transactions
> that would otherwise work, it should be optional and thus need a keyword
> in the command.  But CONCURRENTLY isn't it (because that means something
> else) so we'd have to discuss what it would be.

I wasn't thinking of a new feature but rather if it would be desirable to
change behavior for v14 to always start/commit transaction for each partition.

-- 
Justin



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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: should CREATE INDEX ON partitioned_table callPreventInTransactionBlock() ?
Следующее
От: Anastasia Lubennikova
Дата:
Сообщение: Re: pg_upgrade fails with non-standard ACL