Re: CREATE INDEX and HOT - revised design

From: "Merlin Moncure" <mmoncure(at)gmail(dot)com>
To: "Florian G(dot) Pflug" <fgp(at)phlo(dot)org>
Cc: "Pavan Deolasee" <pavan(dot)deolasee(at)gmail(dot)com>, "Bruce Momjian" <bruce(at)momjian(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, "Pavan Deolasee" <pavan(dot)deolasee(at)enterprisedb(dot)com>, "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Simon Riggs" <simon(at)2ndquadrant(dot)com>
Subject: Re: CREATE INDEX and HOT - revised design
Date: 2007-03-21 18:06:44
Message-ID: b42b73150703211106s53f663fdha5519bacf1b775a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 3/21/07, Florian G. Pflug <fgp(at)phlo(dot)org> wrote:
> Pavan Deolasee wrote:
> > On 3/21/07, Merlin Moncure <mmoncure(at)gmail(dot)com> wrote:
> >>
> >> On 3/21/07, Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com> wrote:
> >> > It seems much simpler to me do something like this. But important
> >> > question is whether the restriction that CREATE INDEX can not
> >> > be run in a transaction block is acceptable ?
> >>
> >> yikes -- this is huge, huge price to pay, IMHO. Think about DDL that
> >> implies index creation such as adding unique constraint to a table,
> >> many postgresql users (including me) take advantage of that in update
> >> systems to production databases.
> >>
> > I didn't understand that quite well. How does it help to run CREATE
> > INDEX inside a transaction ?
> The problem is not so much CREATE INDEX per se, but other DDL commands
> that implicitly create an index, for example adding a PRIMARY KEY to a
> table.
>
> Some applications that I have written would fail badly if CREATE INDEX
> was disallowed inside a transaction - mostly, because they use plpgsql
> functions to manipulate database objects, and disallowing CREATE INDEX
> inside a transaction presumably means disallowing it from inside
> stored procedures.

speaking with pavan off list he seems to think that only 'create
index' is outside transaction, not the other ddl flavors of it because
they are generally acquiring a excl lock. so, in that sense it is
possibly acceptable to me although still a pretty tough pill to
swallow (thinking, guc time). It would also preclude ever integrating
vanilla 'create index' to create table command, fwiw.

merlin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2007-03-21 18:10:52 Re: CREATE INDEX and HOT - revised design
Previous Message Tom Lane 2007-03-21 18:05:31 Re: TOASTing smaller things