Tom Lane writes:> Mateus Cordeiro Inssa <mateus@ifnet.com.br> writes:> > I got this error vacuuming pg_proc:> >
ERROR: _bt_endpoint: leftmost page (20) has not leftmost flag> > Hmm, I wonder if this could be yet another
manifestationof the problems> that btree indexes have with oversized key values. Do you have any> procedures with long
definitions? "Long" in this context means over> about 4K. If you're not sure, try> select proname from pg_proc
wherelength(prosrc) > 4000;
Yes, I have some functions from 3k to 5k.
> If you do, try breaking them up into smaller procedures. You might have> to dump and rebuild the database to get rid
ofthe corruption in> pg_proc's index, though.
Ok.
> The prosrc index is actually completely unnecessary, so we've removed> it for 7.0. Work is in progress to fix the
tuple-sizeproblem as well,> but that will probably take longer.
Oh, I would ask why there was this index. I had problems with it
since version 6.4.
I'd like to suggest the creation of a new command: ALTER FUNCTION. I
use pltcl to program in the server, so, no need for checking the
function code. The problems with pg_proc always occurred to me when
changing functions: DROP/CREATE. This command would do just an update on
prosrc field (that doesn't have index anymore).
[]'s
Mateus Cordeiro Inssa
---------------------
Linux User: 76186 Kernel: 2.3.34
ICQ (Licq): 15243895
---------------------
mateus@ifnet.com.br
mateus@cwb.fnn.net
Mon Dec 27 11:15:41 EDT 1999
.