Обяснение на @A.H е точен за PostgreSQL 9.1 или по-стара версия . Така че е приложимо за OP, който използва остарялата версия 8.3.
Въпреки това, PostgreSQL 9.2 донесе значителна актуализация в тази област. Функциите на PL/pgSQL станаха много по-умни за това кога да се планира повторно. Цитирам бележките по изданието за 9.2 тук
Удебелен акцент е мой.
Ergo:Еднорешение за OP би било надграждане до PostgreSQL 9.2+ и всичко трябва да работи добре автоматично.