On 2014-09-30 17:01, Josh Berkus wrote:
> On 09/30/2014 02:43 PM, Tom Lane wrote: > =?UTF-8?Q?Fabr=C3=ADzio_de_Royes_Mello?= <fabriziome...@gmail.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. If there were > a huge groundswell of demand for it, maybe we'd hold our noses and do it > anyway. But I'm against doing it without that. This isn't the sort of thing there would ever be a clamor of support for, because it's just not that visible of a feature. It's more of a regular annoyance for those who encounter it. More importantly, adding an IF NOT EXISTS to CREATE INDEX would allow complete idempotent "create this bunch of tables" scripts, since now the "create index" statements could be included. This would be very nice for schema management tools. I do think it should be name-based. While an "IF NOT EXISTS" which checked for a duplicate column declartion would be nice, there's a raft of issues with implementing it that way. Users I know are generally just looking to avoid getting a transaction-halting error when they run the same create index statement twice. -- Josh Berkus PostgreSQL Experts Inc. http://pgexperts.com [1] I second this evaluation. Using build tools to manage schemas, there is no expectation that the full index signature is checked. Any index of the same name would be considered a collision for my purposes. It is much easier to show CINE to a developer than to explain how an anonymous code block does the same thing. /Kirk Links: ------ [1] http://pgexperts.com