An obscure series of events seems to cause a core dump and OID
corruption:
-- tolower function for varchar
create function varchar_lower(varchar) returns varchar as '/usr/local/lib/pgcontains.so', 'pglower'
language'c';
create index ztables_title_ndx on ztitles ( varchar_lower (title) ) ;
vacuum analyze ;
{ leave }
at some point come back
drop function varchar_lower (varchar) ;
create function varchar_lower(varchar) returns varchar as '/usr/local/lib/pgcontains.so', 'pglower'
language'c';
and strange things start to happen.
I realize that (and only belatedly) once I drop the function the index
is corrupt, but it seems there are invalid oids when I try to dump the
database, and dumping some tables caused a core dump.
I didn't save the data, I was in live service panic mode.
I have a shared library of functions I use in Postgres and I do a drop /
create for an install script. I realize this is a little indiscriminate,
and at least unwise, but I think postgres should be able to handle this.
--
http://www.mohawksoft.com