Обсуждение: Bug #529: UPDATE fails after an index is changed

Поиск
Список
Период
Сортировка

Bug #529: UPDATE fails after an index is changed

От
pgsql-bugs@postgresql.org
Дата:
Paul Smith (paul@cnt.org) reports a bug with a severity of 2
The lower the number the more severe it is.

Short Description
UPDATE fails after an index is changed

Long Description
I had to drop and re-create an index on a table for a large insert. Then I needed to run an UPDATE on a different table
thatgets its values from the first table. UPDATE fails with this error message:  
'ERROR:  Index 6708054 does not exist'.

Sample Code
update users set office_id = offices.office_id where users.infobase_branchid = offices.infobase_branchid and
users.infobase_perid>= 18140; 

No file was uploaded with this report

Re: Bug #529: UPDATE fails after an index is changed

От
Tom Lane
Дата:
pgsql-bugs@postgresql.org writes:
> I had to drop and re-create an index on a table for a large insert. Then I needed to run an UPDATE on a different
tablethat gets its values from the first table. UPDATE fails with this error message:  
> 'ERROR:  Index 6708054 does not exist'.

What do you mean by "gets its values"?  Is there a referential integrity
check between the two tables, or perhaps a trigger that examines the
other table?

If it's a trigger, the problem is probably due to plpgsql caching query
plans.  This is a known problem that will be fixed someday (it's not
that easy to fix without giving up a lot of performance).  In the
meantime, just starting a fresh backend session should make the problem
go away.

            regards, tom lane