Обсуждение: refreshing prepared statements after index rebuild

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

refreshing prepared statements after index rebuild

От
"Uwe Bartels"
Дата:
Hi,

we have a corrupt index (size=20GB) and are about to create a new index parallel to the corrupted index.
the index is running on a heavyly used online database with oltp character.

The question is what's the softest way to switch to the new index. there are several application servers, webapplications and other daemons which use prepared statements on the table associated with that index.

- just dropping the corrupt index results in errors returned while executing the existing prepared statements
- restart of the postgres server works of course, but ... you know. that's the last solution.
- i cannot currently cycle all jdbc connection pools, and bouncing the app-servers & daemons does heavier damage than cycling the database

Is there a way to centrally refresh the existing prepared statements?

any hint that results in a soft switch without disturbance of the application is appreciated.

best regards,
Uwe

Re: refreshing prepared statements after index rebuild

От
Tom Lane
Дата:
"Uwe Bartels" <uwe.bartels@gmail.com> writes:
> - just dropping the corrupt index results in errors returned while executing
> the existing prepared statements

If you were running 8.3 it would Just Work, so I take it you're not.

> - restart of the postgres server works of course, but ... you know. that's
> the last solution.
> - i cannot currently cycle all jdbc connection pools, and bouncing the
> app-servers & daemons does heavier damage than cycling the database

I'm afraid those are your only options :-( --- pre 8.3, there's no way
short of starting fresh sessions to get rid of cached plans for prepared
statements.

            regards, tom lane