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 по дате отправления: