Re: Tow kinds of different result while using create index concurrently

Поиск
Список
Период
Сортировка
От Jeff Janes
Тема Re: Tow kinds of different result while using create index concurrently
Дата
Msg-id CAMkU=1wrfyJEbsC8ta1y8DQocHFRngGkcdepruLBAuo2m63USg@mail.gmail.com
обсуждение исходный текст
Ответ на Tow kinds of different result while using create index concurrently  (高健 <luckyjackgao@gmail.com>)
Ответы Re: Tow kinds of different result while using create index concurrently  (高健 <luckyjackgao@gmail.com>)
Список pgsql-general
On Thu, Jun 20, 2013 at 1:27 AM, 高健 <luckyjackgao@gmail.com> wrote:

Hello:

 

I  have question about PG's "create index concurrently". I think it is a bug perhaps.

 

I  make two tables tab01 and tab02, they have no relationships.

I think "create index concurrently " on tab02 will not be influenced by  transaction on tab01.

But the result differs:


This is expected.  In order to not interfere with "normal" activity, a concurrent index build has to volunteer to be blocked by such activity instead.  From the doc: "When this option is used, PostgreSQL must perform two scans of the table, and in addition it must wait for all existing transactions that could potentially use the index to terminate."

Now in your case, perhaps the argument could be made that the transaction hosting the 1st concurrent build could not potentially use the 2nd-building index, but there is no convenient way for PostgreSQL to detect that fact.

 Cheers,

Jeff

В списке pgsql-general по дате отправления:

Предыдущее
От: Manuel Kniep
Дата:
Сообщение: unexpected external sort Disk
Следующее
От: Jeff Janes
Дата:
Сообщение: Re: Do not understand high estimates of index scan vs seq scan