hi...
> i seem to be experienceing a problem where after updating an existing
> pl/pgsql function the backend crashes. the function code is ok, if i
> restart the backend and then vcaccum it usually will create the function
> and work fine. if i create a new function it will usually go through quite
> a few changes to the function before this problem starts to occur, its
> almost as if something is filling up.
i've noticed the same thing. my (observational) findings have been such:
- its worse the longer the function is (in fact, large functions drop even
when being freshly loaded)
- too many nested for loops also causes the problem (quite severely)
- its worse the more backends are open (using the -N option in postmaster)
- doesn't seem to be affected by the number of buffers open (-B option)
some things that help:
- dropping the function and giving the system time to "digest" this. (i.e.,
doing it from a script that doesn't pause between the dropping and the creating
often causes problems)
- entering the function onscreen, then pausing before hitting that final
"Enter" (again, scripts/'cut 'n pastes' that don't pause here can cause
problems)
- vacuuming after dropping a large function
i hope this helps lead the pl/pgsql developers towards the problem. =)
other'n that (and a few minor oddities) pl/pgsql is just peachy =)
--
Aaron J. Seigo
Sys Admin