Re: CREATE INDEX and HOT - revised design

From: "Florian G(dot) Pflug" <fgp(at)phlo(dot)org>
To: Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com>
Cc: Merlin Moncure <mmoncure(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:01:12
Message-ID: 460172E8.1090600@phlo.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

greetings, Florian Pflug

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2007-03-21 18:05:31 Re: TOASTing smaller things
Previous Message Pavan Deolasee 2007-03-21 17:51:11 Re: CREATE INDEX and HOT - revised design