Recreating indices safely

Поиск
Список
Период
Сортировка
От Denis Perchine
Тема Recreating indices safely
Дата
Msg-id 200109181659.f8IGx4t29321@gw.ac-sw.com
обсуждение исходный текст
Ответы Re: Recreating indices safely
Список pgsql-general
Hello,

I have quite strange problem with 7.1.3.
The problem is that when I try to recreate indices in working system
(it is needed as updates are quite intensive, and you need to make indices
smaller) I realise that some queries using these indices are failed.

They are failed with error something like can not find relation <oid>.
This is understandable. Query was prepared, all oids was fixed, and between
query prepare, and execution I drop the index (I create a new one, and drop an old
one afterwards). As far as I can understand drop index should obtain exclusive lock
on table it is created on. Is it correct? The only explanation I can find is that this lock
is not obtained.

Any suggestions/comments/ideas?

BTW, using begin; lock table; create index;drop index;commit; is not working, as
create index can not detect that table is already locked by current transaction, and tries to lock it again...
This is also bug IMHO.

--
Sincerely Yours,
Denis Perchine

----------------------------------
E-Mail: dyp@perchine.com
HomePage: http://www.perchine.com/dyp/
FidoNet: 2:5000/120.5
----------------------------------


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

Предыдущее
От: rdear
Дата:
Сообщение: PLPGSQL regexe
Следующее
От: Cosmos Tong
Дата:
Сообщение: Error in compiling PHP with PostgreSQL support