From: | Josh Berkus <josh(at)agliodbs(dot)com> |
---|---|
To: | Andres Freund <andres(at)2ndquadrant(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | fabriziomello(at)gmail(dot)com, Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: CREATE IF NOT EXISTS INDEX |
Date: | 2014-09-30 23:03:01 |
Message-ID: | 542B36A5.4010600@agliodbs.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 09/30/2014 03:53 PM, Andres Freund wrote:
> On 2014-09-30 18:47:24 -0400, Tom Lane wrote:
>> Josh Berkus <josh(at)agliodbs(dot)com> writes:
>>> On 09/30/2014 02:43 PM, Tom Lane wrote:
>>>> =?UTF-8?Q?Fabr=C3=ADzio_de_Royes_Mello?= <fabriziomello(at)gmail(dot)com> writes:
>>>>> What's your thoughts about we implement IF NOT EXISTS for CREATE INDEX?
>>
>>>> It's got the same semantic problems as every other variant of CINE.
>>
>>> I do think it should be name-based.
>>
>> Name-based, eh? Don't you recall that in modern practice, people
>> generally don't specify names for indexes at all? They've usually
>> got system-generated names, which doesn't seem like a very cool thing
>> to have scripts depending on.
>
> Good point. I think it's fair enough to only allow CINE on named
> indexes.
On the other hand, the way we form system-generated names is predicable,
so I think it would be perfectly OK to include them. Desirable, in fact.
For example, if I did this:
CREATE INDEX ON tab1 (cola, colb);
CREATE INDEX IF NOT EXISTS ON tab1 (cola, colb);
I would expect to not end up with two indexes on those two particular
columns, and if we don't omit system-generated names, I won't.
Not that I'm a fan of omitting the name ...
--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2014-09-30 23:16:52 | Re: CREATE IF NOT EXISTS INDEX |
Previous Message | Simon Riggs | 2014-09-30 23:01:46 | Re: Yet another abort-early plan disaster on 9.3 |