Re: [SPAM?]: Re: Support for REINDEX CONCURRENTLY
От | Peter Eisentraut |
---|---|
Тема | Re: [SPAM?]: Re: Support for REINDEX CONCURRENTLY |
Дата | |
Msg-id | 50C661E1.6070802@gmx.net обсуждение исходный текст |
Ответ на | Re: [SPAM?]: Re: Support for REINDEX CONCURRENTLY (Simon Riggs <simon@2ndQuadrant.com>) |
Ответы |
Re: [SPAM?]: Re: Support for REINDEX CONCURRENTLY
Re: [SPAM?]: Re: Support for REINDEX CONCURRENTLY |
Список | pgsql-hackers |
On 12/10/12 5:21 PM, Simon Riggs wrote: > On 10 December 2012 22:18, Peter Eisentraut <peter_e@gmx.net> wrote: >> On 12/8/12 9:40 AM, Tom Lane wrote: >>> I'm tempted to propose that REINDEX CONCURRENTLY simply not try to >>> preserve the index name exactly. Something like adding or removing >>> trailing underscores would probably serve to generate a nonconflicting >>> name that's not too unsightly. >> >> If you think you can rename an index without an exclusive lock, then why >> not rename it back to the original name when you're done? > > Because the index isn't being renamed. An alternate equivalent index > is being created instead. Right, basically, you can do this right now using CREATE INDEX CONCURRENTLY ${name}_tmp ... DROP INDEX CONCURRENTLY ${name}; ALTER INDEX ${name}_tmp RENAME TO ${name}; The only tricks here are if ${name}_tmp is already taken, in which case you might as well just error out (or try a few different names), and if ${name} is already in use by the time you get to the last line, in which case you can log a warning or an error. What am I missing?
В списке pgsql-hackers по дате отправления: