Recreating indices safely

From: Denis Perchine <dyp(at)perchine(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Recreating indices safely
Date: 2001-09-18 17:00:46
Message-ID: 200109181659.f8IGx4t29321@gw.ac-sw.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)perchine(dot)com
HomePage: http://www.perchine.com/dyp/
FidoNet: 2:5000/120.5
----------------------------------

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Denis Bucher 2001-09-18 17:07:34 URGENT ! Nouveau virus
Previous Message roypgsqlgen 2001-09-18 16:23:24 what is Java-JDC/JSQL